Move wl_display_flush after wayland_tbm_client_destroy_buffer 57/299057/1
authorjinbong, Lee <jinbong.lee@samsung.com>
Tue, 19 Sep 2023 05:23:11 +0000 (14:23 +0900)
committerjinbong, Lee <jinbong.lee@samsung.com>
Tue, 19 Sep 2023 05:23:11 +0000 (14:23 +0900)
 - When wayland_tbm_client_destroy_buffer() is called,
   then we need to send message to server as soon as possible

Change-Id: I4abc7e273d7103526b8fde550601fa5993bd3e9b

src/tpl_wl_egl_thread.c

index 3a5fe4a..4be7c44 100755 (executable)
@@ -3685,17 +3685,16 @@ __cb_wl_egl_buffer_free(tpl_wl_egl_buffer_t *wl_egl_buffer)
                tpl_gmutex_unlock(&wl_egl_surface->vblank->mutex);
        }
 
-       if (wl_egl_display)
-               wl_display_flush(wl_egl_display->wl_display);
-
        tpl_gmutex_lock(&wl_egl_buffer->mutex);
 
-       if (wl_egl_display && wl_egl_display->wl_tbm_client) {
-               if (wl_egl_buffer->wl_buffer) {
+       if (wl_egl_display) {
+               if (wl_egl_display->wl_tbm_client && 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;
                }
+
+               wl_display_flush(wl_egl_display->wl_display);
        }