From fb431fdad2c0d39c5385cdb8677fab1bcaec4016 Mon Sep 17 00:00:00 2001 From: Changyeon Lee Date: Wed, 27 Jul 2016 19:57:45 +0900 Subject: [PATCH] tbm_surface : delete user data before bo unref Change-Id: If88d0cc1ff2f40b2fef570d16b0b0f1c7a9d39d1 --- src/tbm_surface_internal.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/tbm_surface_internal.c b/src/tbm_surface_internal.c index dbdf5f9..b94053a 100644 --- a/src/tbm_surface_internal.c +++ b/src/tbm_surface_internal.c @@ -271,13 +271,6 @@ _tbm_surface_internal_destroy(tbm_surface_h surface) tbm_bufmgr bufmgr = surface->bufmgr; tbm_user_data *old_data = NULL, *tmp = NULL; - for (i = 0; i < surface->num_bos; i++) { - surface->bos[i]->surface = NULL; - - tbm_bo_unref(surface->bos[i]); - surface->bos[i] = NULL; - } - /* destory the user_data_list */ if (!LIST_IS_EMPTY(&surface->user_data_list)) { LIST_FOR_EACH_ENTRY_SAFE(old_data, tmp, &surface->user_data_list, item_link) { @@ -286,6 +279,13 @@ _tbm_surface_internal_destroy(tbm_surface_h surface) } } + for (i = 0; i < surface->num_bos; i++) { + surface->bos[i]->surface = NULL; + + tbm_bo_unref(surface->bos[i]); + surface->bos[i] = NULL; + } + LIST_DEL(&surface->item_link); free(surface); -- 2.7.4