devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b55a24727a30460792fb5d0ac8bbfb0f91442687

commit b55a24727a30460792fb5d0ac8bbfb0f91442687
Author: Chris Michael <[email protected]>
Date:   Tue Mar 17 15:50:56 2015 -0400

    ecore-evas-wayland: Remove frame callbacks from Ecore_Evas wayland
    engine
    
    Summary: Frame callbacks are now handled inside the engine itself and
    are thus not needed here anymore
    
    @fix
    
    Signed-off-by: Chris Michael <[email protected]>
---
 .../engines/wayland/ecore_evas_wayland_common.c    | 61 ----------------------
 .../engines/wayland/ecore_evas_wayland_egl.c       |  1 -
 .../engines/wayland/ecore_evas_wayland_private.h   |  2 -
 .../engines/wayland/ecore_evas_wayland_shm.c       |  1 -
 4 files changed, 65 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index e7521d5..926269d 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -46,15 +46,6 @@ static void _ecore_evas_wayland_alpha_do(Ecore_Evas *ee, int 
alpha);
 static void _ecore_evas_wayland_transparent_do(Ecore_Evas *ee, int 
transparent);
 static void _ecore_evas_wl_common_border_update(Ecore_Evas *ee);
 
-/* Frame listener */
-static void _ecore_evas_wl_frame_complete(void *data, struct wl_callback 
*callback, uint32_t tm);
-
-/* Frame listener */
-static const struct wl_callback_listener frame_listener =
-{
-   _ecore_evas_wl_frame_complete,
-};
-
 /* local functions */
 static void 
 _ecore_evas_wl_common_state_update(Ecore_Evas *ee)
@@ -592,8 +583,6 @@ _ecore_evas_wl_common_free(Ecore_Evas *ee)
 
    if (!ee) return;
    wdata = ee->engine.data;
-   if (wdata->frame_callback) wl_callback_destroy(wdata->frame_callback);
-   wdata->frame_callback = NULL;
    if (wdata->win) ecore_wl_window_free(wdata->win);
    wdata->win = NULL;
    free(wdata);
@@ -1441,42 +1430,6 @@ _ecore_evas_wl_common_post_render(Ecore_Evas *ee)
    if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
 }
 
-void
-_ecore_evas_wl_common_frame_callback_clean(Ecore_Evas *ee)
-{
-   Ecore_Evas_Engine_Wl_Data *wdata;
-
-   wdata = ee->engine.data;
-
-   if (!wdata->frame_pending)
-     return;
-   wl_callback_destroy(wdata->frame_callback);
-   wdata->frame_callback = NULL;
-   wdata->frame_pending = EINA_FALSE;
-}
-
-static void
-_ecore_evas_wl_frame_complete(void *data, struct wl_callback *callback 
EINA_UNUSED, uint32_t tm EINA_UNUSED)
-{
-   Ecore_Evas *ee = data;
-   Ecore_Wl_Window *win = NULL;
-   Ecore_Evas_Engine_Wl_Data *wdata;
-
-   if (!ee) return;
-
-   _ecore_evas_wl_common_frame_callback_clean(ee);
-
-   wdata = ee->engine.data;
-   if (!(win = wdata->win)) return;
-
-   if (ecore_wl_window_surface_get(win))
-     {
-        wdata->frame_callback = 
-          wl_surface_frame(ecore_wl_window_surface_get(win));
-        wl_callback_add_listener(wdata->frame_callback, &frame_listener, ee);
-     }
-}
-
 int
 _ecore_evas_wl_common_render(Ecore_Evas *ee)
 {
@@ -1516,20 +1469,6 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee)
         updates = evas_render_updates(ee->evas);
         rend = _ecore_evas_wl_common_render_updates_process(ee, updates);
         evas_render_updates_free(updates);
-
-        if (!wdata->frame_pending)
-          {
-             if (!wdata->frame_callback)
-               {
-                  wdata->frame_callback = 
-                    wl_surface_frame(ecore_wl_window_surface_get(win));
-                  wl_callback_add_listener(wdata->frame_callback, 
-                                           &frame_listener, ee);
-               }
-
-             if (rend) 
-               wdata->frame_pending = EINA_TRUE;
-          }
      }
    else if (evas_render_async(ee->evas))
      {
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
index 46003e8..d9b579d 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
@@ -373,7 +373,6 @@ _ecore_evas_wl_hide(Ecore_Evas *ee)
    if (!ee->visible) return;
    ee->visible = 0;
    ee->should_be_visible = 0;
-   _ecore_evas_wl_common_frame_callback_clean(ee);
 
    if (ee->func.fn_hide) ee->func.fn_hide(ee);
 }
diff --git 
a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
index 98e2624..206d178 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
@@ -35,8 +35,6 @@ struct _Ecore_Evas_Engine_Wl_Data
 #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
    struct wl_egl_window *egl_win;
 #endif
-   Eina_Bool frame_pending : 1;
-   struct wl_callback *frame_callback;
 };
 
 Ecore_Evas_Interface_Wayland *_ecore_evas_wl_interface_new(void);
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
index 9355e50..7e9e353 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
@@ -366,7 +366,6 @@ _ecore_evas_wl_hide(Ecore_Evas *ee)
    if (!ee->visible) return;
    ee->visible = 0;
    ee->should_be_visible = 0;
-   _ecore_evas_wl_common_frame_callback_clean(ee);
 
    if (ee->func.fn_hide) ee->func.fn_hide(ee);
 }

-- 


Reply via email to