From c56f34834a7b26e39b78f8495df66833d121a42e Mon Sep 17 00:00:00 2001 From: Boram Park Date: Tue, 7 Mar 2017 18:42:31 +0900 Subject: [PATCH] layer: remove the commit handler when all resource are freed Change-Id: I0f8afee8189a806cf4014faace4c09cdde8d51f1 --- src/tdm_layer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/tdm_layer.c b/src/tdm_layer.c index f127664..070e485 100644 --- a/src/tdm_layer.c +++ b/src/tdm_layer.c @@ -79,6 +79,8 @@ static void _tdm_layer_cb_wait_vblank(tdm_vblank *vblank, tdm_error error, unsig unsigned int tv_sec, unsigned int tv_usec, void *user_data); static void _tbm_layer_queue_acquirable_cb(tbm_surface_queue_h surface_queue, void *data); static void _tbm_layer_queue_destroy_cb(tbm_surface_queue_h surface_queue, void *data); +static void _tdm_layer_cb_output_commit(tdm_output *output, unsigned int sequence, + unsigned int tv_sec, unsigned int tv_usec, void *user_data); EXTERN tdm_error tdm_layer_get_capabilities(tdm_layer *layer, tdm_layer_capability *capabilities) @@ -359,6 +361,7 @@ _tdm_layer_free_all_buffers(tdm_private_layer *private_layer) LIST_FOR_EACH_ENTRY_SAFE(lm, lmm, &clone_list, link) { LIST_DEL(&lm->link); + tdm_output_remove_commit_handler_internal(private_output, _tdm_layer_cb_output_commit, lm); _tdm_layer_free_buffer(private_layer, lm->committed_buffer); free(lm); } -- 2.7.4