client: don't notify dequeueable if queue is deactive state 97/195497/1
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 14 Dec 2018 03:53:04 +0000 (12:53 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Fri, 14 Dec 2018 03:59:47 +0000 (12:59 +0900)
Change-Id: Ic2a3c0db0acf10b2f50c809dced38acd3e90540f

src/wayland-tbm-client.c

index be4887b..a6a9159 100644 (file)
@@ -1292,6 +1292,7 @@ handle_tbm_queue_buffer_usable(void *data,
                                (struct wayland_tbm_surface_queue *)data;
        struct wayland_tbm_buffer *buffer;
        tbm_surface_queue_h tbm_queue = NULL;
+       int is_active = 0;
 
        WL_TBM_RETURN_IF_FAIL(wl_buffer != NULL);
 
@@ -1303,6 +1304,7 @@ handle_tbm_queue_buffer_usable(void *data,
        }
 
        tbm_queue = queue_info->tbm_queue;
+       is_active = queue_info->is_active;
 
 #ifdef DEBUG_TRACE
        WL_TBM_TRACE("pid:%d wl_buffer:%p tbm_surface:%p",
@@ -1311,7 +1313,8 @@ handle_tbm_queue_buffer_usable(void *data,
 
        pthread_mutex_unlock(&queue_info->lock);
 
-       tbm_surface_queue_notify_dequeuable(tbm_queue);
+       if (is_active)
+               tbm_surface_queue_notify_dequeuable(tbm_queue);
 }
 
 const struct wl_tbm_queue_listener wl_tbm_queue_listener = {