surface_internal: deinit when it is bufmgr_init at first time. 26/171426/1
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 5 Mar 2018 03:48:58 +0000 (12:48 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 5 Mar 2018 03:48:58 +0000 (12:48 +0900)
Change-Id: I15a00357b8590ec8101cf0e4defd8c4cc02e6268

src/tbm_surface_internal.c

index 685e55e..5d9d91b 100644 (file)
@@ -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;