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.michael@samsung.com>
This commit is contained in:
Chris Michael 2017-01-10 11:28:40 -05:00
parent 101c772412
commit debc7ee8c3
1 changed files with 5 additions and 0 deletions

View File

@ -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;