From: Changyeon Lee Date: Thu, 24 Sep 2020 06:16:55 +0000 (+0900) Subject: tbm_surface_queue: notify reset callback in free_flush X-Git-Tag: accepted/tizen/6.0/unified/20201111.064841~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F78%2F244778%2F4;p=platform%2Fcore%2Fuifw%2Flibtbm.git tbm_surface_queue: notify reset callback in free_flush ddk should know that free buffer is destroyed Change-Id: Id9031a0cdcc167fb89ce0d9c0c53f1ef68478917 --- diff --git a/src/tbm_surface_queue.c b/src/tbm_surface_queue.c index 40b5c9d..ef63887 100644 --- a/src/tbm_surface_queue.c +++ b/src/tbm_surface_queue.c @@ -1925,6 +1925,7 @@ tbm_surface_queue_error_e tbm_surface_queue_free_flush(tbm_surface_queue_h surface_queue) { queue_node *node = NULL; + int is_guarantee_cycle = 0; _tbm_surf_queue_mutex_lock(); _tbm_set_last_result(TBM_ERROR_NONE); @@ -1952,9 +1953,15 @@ tbm_surface_queue_free_flush(tbm_surface_queue_h surface_queue) /* Reset queue */ _queue_init(&surface_queue->free_queue); + if (surface_queue->modes & TBM_SURFACE_QUEUE_MODE_GUARANTEE_CYCLE) + is_guarantee_cycle = 1; + pthread_mutex_unlock(&surface_queue->lock); _tbm_surf_queue_mutex_unlock(); + if (is_guarantee_cycle) + _notify_emit(surface_queue, &surface_queue->reset_noti); + return TBM_SURFACE_QUEUE_ERROR_NONE; }