tpl_wayland_egl: Set event queue by using new API of wayland-tbm. 03/123003/2
authorjoonbum.ko <joonbum.ko@samsung.com>
Mon, 20 Feb 2017 07:54:17 +0000 (16:54 +0900)
committerjoonbum.ko <joonbum.ko@samsung.com>
Fri, 14 Apr 2017 06:47:26 +0000 (15:47 +0900)
 - Use new API to set event_queue in order to do roundtrip in wl_tbm.

 - platform/core/uifw/wayland-tbm
   commit_id : 21c96897bbcde143eff825e2d59fe820e99e5e16
   commit_message : client: added function wayland_tbm_client_set_event_queue

Change-Id: Idcd7d24912fd8fe655ecdf2d834e8cc10a92a3d0
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
src/tpl_wayland_egl.c

index 4f4ad44..f24bdc4 100644 (file)
@@ -162,14 +162,6 @@ __tpl_wayland_egl_display_init(tpl_display_t *display)
                        goto free_wl_display;
                }
 
-               wayland_egl_display->wl_tbm =
-                       (struct wl_proxy *)wayland_tbm_client_get_wl_tbm(
-                               wayland_egl_display->wl_tbm_client);
-               if (!wayland_egl_display->wl_tbm) {
-                       TPL_ERR("Failed to get wl_tbm from wayland_tbm_client.");
-                       goto free_wl_display;
-               }
-
                wayland_egl_display->wl_tbm_event_queue =
                        wl_display_create_queue(wl_dpy);
                if (!wayland_egl_display->wl_tbm_event_queue) {
@@ -177,8 +169,12 @@ __tpl_wayland_egl_display_init(tpl_display_t *display)
                        goto free_wl_display;
                }
 
-               wl_proxy_set_queue(wayland_egl_display->wl_tbm,
-                                                  wayland_egl_display->wl_tbm_event_queue);
+               if (!wayland_tbm_client_set_event_queue(
+                                       wayland_egl_display->wl_tbm_client,
+                                       wayland_egl_display->wl_tbm_event_queue)) {
+                       TPL_ERR("Failed to set event_queue to wl_tbm.");
+                       goto free_wl_display;
+               }
 
                if (env == NULL || atoi(env)) {
                        TPL_LOG_B("WL_EGL", "[INIT] ENABLE wait vblank.");
@@ -208,8 +204,8 @@ __tpl_wayland_egl_display_init(tpl_display_t *display)
 free_wl_display:
        if (wayland_egl_display->tdm_client)
                tdm_client_destroy(wayland_egl_display->tdm_client);
-       if ((wayland_egl_display->wl_tbm) && (wayland_egl_display->wl_tbm_event_queue))
-               wl_proxy_set_queue(wayland_egl_display->wl_tbm, NULL);
+       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)
@@ -218,7 +214,6 @@ free_wl_display:
        wayland_egl_display->wl_tbm_event_queue = NULL;
        wayland_egl_display->wl_tbm_client = NULL;
        wayland_egl_display->tdm_client = NULL;
-       wayland_egl_display->wl_tbm = NULL;
        wayland_egl_display->wl_dpy = NULL;
 
        free(wayland_egl_display);
@@ -243,8 +238,8 @@ __tpl_wayland_egl_display_fini(tpl_display_t *display)
                if (wayland_egl_display->tdm_client)
                        tdm_client_destroy(wayland_egl_display->tdm_client);
 
-               if ((wayland_egl_display->wl_tbm) && (wayland_egl_display->wl_tbm_event_queue))
-                       wl_proxy_set_queue(wayland_egl_display->wl_tbm, NULL);
+               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);
@@ -255,7 +250,6 @@ __tpl_wayland_egl_display_fini(tpl_display_t *display)
                wayland_egl_display->wl_tbm_event_queue = NULL;
                wayland_egl_display->wl_tbm_client = NULL;
                wayland_egl_display->tdm_client = NULL;
-               wayland_egl_display->wl_tbm = NULL;
                wayland_egl_display->wl_dpy = NULL;
                free(wayland_egl_display);
        }