From: Chris Michael Date: Tue, 10 Jan 2017 16:28:40 +0000 (-0500) Subject: ecore-evas-wayland: Ensure pending configure is handled before rendering X-Git-Tag: upstream/1.20.0~2486 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=debc7ee8c357c52c067fb67cc3896985c18edbfd;p=platform%2Fupstream%2Fefl.git 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 --- 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;