client: added wayland_tbm_client_queue_check_activate 83/121783/4 accepted/tizen/unified/20170406.054854 submit/tizen/20170405.065914 tizen_4.0.m1_release
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 29 Mar 2017 04:14:07 +0000 (13:14 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Tue, 4 Apr 2017 05:16:53 +0000 (14:16 +0900)
Change-Id: I11ef1a8aeb7a8f8d6bd54c56226d5a51b2b78556

src/wayland-tbm-client.c
src/wayland-tbm-client.h

index cf60fa3..7aa5710 100644 (file)
@@ -1000,6 +1000,24 @@ _wayland_tbm_client_find_queue_info_wl_surface(struct wayland_tbm_client *tbm_cl
        return NULL;
 }
 
+static struct wayland_tbm_surface_queue *
+_wayland_tbm_client_find_queue_info_queue(struct wayland_tbm_client *tbm_client,
+                                       tbm_surface_queue_h queue)
+{
+       /* set the debug_pid to the surface for debugging */
+       if (!wl_list_empty(&tbm_client->queue_info_list)) {
+               struct wayland_tbm_surface_queue *queue_info = NULL;
+
+               wl_list_for_each(queue_info, &tbm_client->queue_info_list, link) {
+                       if (queue_info->tbm_queue == queue)
+                               return queue_info;
+               }
+       }
+
+       return NULL;
+}
+
+
 static void
 _handle_tbm_surface_queue_destroy_notify(tbm_surface_queue_h surface_queue,
                void *data)
@@ -1208,3 +1226,20 @@ wayland_tbm_client_get_wl_tbm(struct wayland_tbm_client *tbm_client)
 
        return tbm_client->wl_tbm;
 }
+
+int
+wayland_tbm_client_queue_check_activate(struct wayland_tbm_client *tbm_client, tbm_surface_queue_h queue)
+{
+       struct wayland_tbm_surface_queue *queue_info = NULL;
+
+       WL_TBM_RETURN_VAL_IF_FAIL(tbm_client != NULL, 0);
+       WL_TBM_RETURN_VAL_IF_FAIL(queue != NULL, 0);
+
+       queue_info = _wayland_tbm_client_find_queue_info_queue(tbm_client, queue);
+       WL_TBM_RETURN_VAL_IF_FAIL(queue_info != NULL, 0);
+
+       if (queue_info->is_active) return 1;
+
+       return 0;
+}
+
index 289c283..b2c1633 100644 (file)
@@ -77,6 +77,9 @@ wayland_tbm_client_get_wl_tbm(struct wayland_tbm_client *tbm_client);
 int
 wayland_tbm_client_set_event_queue(struct wayland_tbm_client *tbm_client, struct wl_event_queue *queue);
 
+int
+wayland_tbm_client_queue_check_activate(struct wayland_tbm_client *tbm_client, tbm_surface_queue_h queue);
+
 #ifdef  __cplusplus
 }
 #endif