Destroy buffer_release when wl_egl_buffer destroy. 90/255090/1
authorJoonbum Ko <joonbum.ko@samsung.com>
Thu, 11 Mar 2021 08:56:37 +0000 (17:56 +0900)
committerJoonbum Ko <joonbum.ko@samsung.com>
Thu, 11 Mar 2021 08:56:37 +0000 (17:56 +0900)
Change-Id: Iad683fc89b9d9a5e23a948f564a64ad572715140
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
src/tpl_wl_egl_thread.c

index e5d875e..68cdbef 100755 (executable)
@@ -3243,9 +3243,16 @@ __cb_wl_egl_buffer_free(tpl_wl_egl_buffer_t *wl_egl_buffer)
 
        wl_display_flush(wl_egl_display->wl_display);
 
-       if (wl_egl_buffer->wl_buffer)
+       if (wl_egl_buffer->wl_buffer) {
                wayland_tbm_client_destroy_buffer(wl_egl_display->wl_tbm_client,
                                                                                  (void *)wl_egl_buffer->wl_buffer);
+               wl_egl_buffer->wl_buffer = NULL;
+       }
+
+       if (wl_egl_buffer->buffer_release) {
+               zwp_linux_buffer_release_v1_destroy(wl_egl_buffer->buffer_release);
+               wl_egl_buffer->buffer_release = NULL;
+       }
 
        if (wl_egl_buffer->waiting_source) {
                tpl_gsource_destroy(wl_egl_buffer->waiting_source, TPL_FALSE);