From c6736a86ad0f5087f058c3930dc048086282b1c5 Mon Sep 17 00:00:00 2001 From: "joonbum.ko" Date: Tue, 19 Jun 2018 15:42:16 +0900 Subject: [PATCH] tpl_wayland_egl(_thread): Changed to destroy wl_event_queue after wl_registry is destroyed. Change-Id: I531719abc4079961b52c9b2467f1f2ea73be5705 Signed-off-by: joonbum.ko --- src/tpl_wayland_egl.c | 14 +++++++------- src/tpl_wayland_egl_thread.c | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/tpl_wayland_egl.c b/src/tpl_wayland_egl.c index 8b6e104..d4d1ecd 100644 --- a/src/tpl_wayland_egl.c +++ b/src/tpl_wayland_egl.c @@ -222,10 +222,10 @@ free_wl_display: tdm_client_destroy(wayland_egl_display->tdm_client); if (wayland_egl_display->wl_tbm_client) wayland_tbm_client_set_event_queue(wayland_egl_display->wl_tbm_client, NULL); - if (wayland_egl_display->wl_tbm_event_queue) - wl_event_queue_destroy(wayland_egl_display->wl_tbm_event_queue); if (wayland_egl_display->wl_tbm_client) wayland_tbm_client_deinit(wayland_egl_display->wl_tbm_client); + if (wayland_egl_display->wl_tbm_event_queue) + wl_event_queue_destroy(wayland_egl_display->wl_tbm_event_queue); pthread_mutex_destroy(&wayland_egl_display->wl_event_mutex); pthread_mutex_destroy(&wayland_egl_display->tdm_mutex); @@ -266,12 +266,12 @@ __tpl_wayland_egl_display_fini(tpl_display_t *display) if (wayland_egl_display->wl_tbm_client) wayland_tbm_client_set_event_queue(wayland_egl_display->wl_tbm_client, NULL); - if (wayland_egl_display->wl_tbm_event_queue) - wl_event_queue_destroy(wayland_egl_display->wl_tbm_event_queue); - if (wayland_egl_display->wl_tbm_client) wayland_tbm_client_deinit(wayland_egl_display->wl_tbm_client); + if (wayland_egl_display->wl_tbm_event_queue) + wl_event_queue_destroy(wayland_egl_display->wl_tbm_event_queue); + if (lock_res == 0) pthread_mutex_unlock(&wayland_egl_display->wl_event_mutex); if (pthread_mutex_destroy(&wayland_egl_display->wl_event_mutex)) TPL_ERR("Failed to destroy wl_event_mutex(%p)", @@ -1620,12 +1620,12 @@ __tpl_wayland_egl_display_buffer_flusher_init( NULL); fini: - if (queue) - wl_event_queue_destroy(queue); if (display_wrapper) wl_proxy_wrapper_destroy(display_wrapper); if (registry) wl_registry_destroy(registry); + if (queue) + wl_event_queue_destroy(queue); } static void diff --git a/src/tpl_wayland_egl_thread.c b/src/tpl_wayland_egl_thread.c index 106f41d..14814bf 100644 --- a/src/tpl_wayland_egl_thread.c +++ b/src/tpl_wayland_egl_thread.c @@ -844,12 +844,12 @@ _twe_display_wayland_init(twe_wl_disp_source *disp_source) } fini: - if (queue) - wl_event_queue_destroy(queue); if (display_wrapper) wl_proxy_wrapper_destroy(display_wrapper); if (registry) wl_registry_destroy(registry); + if (queue) + wl_event_queue_destroy(queue); } static void -- 2.7.4