From b02d80b4692f259c0fafb4bbd570bc1b09536df9 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Mon, 5 Mar 2018 12:48:58 +0900 Subject: [PATCH] surface_internal: deinit when it is bufmgr_init at first time. Change-Id: I15a00357b8590ec8101cf0e4defd8c4cc02e6268 --- src/tbm_surface_internal.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/tbm_surface_internal.c b/src/tbm_surface_internal.c index 685e55e..5d9d91b 100644 --- a/src/tbm_surface_internal.c +++ b/src/tbm_surface_internal.c @@ -415,7 +415,7 @@ tbm_surface_internal_query_supported_formats(uint32_t **formats, TBM_RETURN_VAL_IF_FAIL(formats, 0); TBM_RETURN_VAL_IF_FAIL(num, 0); - struct _tbm_bufmgr *mgr; + struct _tbm_bufmgr *bufmgr; int ret = 0; bool bufmgr_initialized = false; @@ -427,12 +427,12 @@ tbm_surface_internal_query_supported_formats(uint32_t **formats, bufmgr_initialized = true; } - mgr = g_surface_bufmgr; + bufmgr = g_surface_bufmgr; - if (!mgr->backend->surface_supported_format) + if (!bufmgr->backend->surface_supported_format) goto fail; - ret = mgr->backend->surface_supported_format(formats, num); + ret = bufmgr->backend->surface_supported_format(formats, num); if (!ret) { /* LCOV_EXCL_START */ TBM_LOG_E("Fail to surface_supported_format.\n"); @@ -442,6 +442,11 @@ tbm_surface_internal_query_supported_formats(uint32_t **formats, TBM_TRACE("tbm_bufmgr(%p) format num(%u)\n", g_surface_bufmgr, *num); + if (bufmgr_initialized) { + LIST_DELINIT(&g_surface_bufmgr->surf_list); + _deinit_surface_bufmgr(); + } + _tbm_surface_mutex_unlock(); return ret; -- 2.7.4