devilhorns pushed a commit to branch master.

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

commit debc7ee8c357c52c067fb67cc3896985c18edbfd
Author: Chris Michael <cp.mich...@samsung.com>
Date:   Tue Jan 10 11:28:40 2017 -0500

    ecore-evas-wayland: Ensure pending configure is handled before rendering
    
    With the change to xdg_shell v6, we need to wait for any pending
    configure to be handled before we can render. This patch addresses
    that issue and makes Elementary_Test work again under Weston :)
    
    Signed-off-by: Chris Michael <cp.mich...@samsung.com>
---
 src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c | 5 +++++
 1 file changed, 5 insertions(+)

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 9a01e65..8aa5afd 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
@@ -294,6 +294,7 @@ _ecore_evas_wl_common_cb_window_configure(void *data 
EINA_UNUSED, int type EINA_
      }
 
    if ((!nw) && (!nh)) return ECORE_CALLBACK_RENEW;
+
    nw -= fw;
    nh -= fh;
 
@@ -1427,6 +1428,8 @@ _ecore_evas_wl_common_render_flush_pre(void *data, Evas 
*evas, void *event EINA_
    surf = ecore_wl2_window_surface_get(wdata->win);
    if (!surf) return;
 
+   if (wdata->win->pending.configure) return;
+
    wdata->anim_callback = wl_surface_frame(surf);
    wl_callback_add_listener(wdata->anim_callback, &_anim_listener, ee);
    ecore_evas_manual_render_set(ee, 1);
@@ -1527,6 +1530,8 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee)
    if (!(wdata = ee->engine.data)) return 0;
    if (!wdata->sync_done) return 0;
 
+   if (wdata->win->pending.configure) return 0;
+
    /* TODO: handle comp no sync */
 
    if (ee->in_async_render) return 0;

-- 


Reply via email to