From 4aeee0de4c5042a7fa66ccd561fb804a5471c426 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Fri, 22 Aug 2014 13:31:09 -0400 Subject: [PATCH] ecore-evas-wayland: Fix ecore_evas async rendering with wayland engines Recent expedite changes have uncovered an issue where the ecore_evas (under wayland) was not supporting async rendering correctly. This fixes the issue so we can run expedite with -y and get redraws again. @fix Signed-off-by: Chris Michael --- .../engines/wayland/ecore_evas_wayland_common.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 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 532e900b36..0c0ce81627 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 @@ -1458,10 +1458,14 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee) if (!ee->can_async_render) { + Eina_List *updates; + + 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) { - Eina_List *updates; - if (!wdata->frame_callback) { wdata->frame_callback = @@ -1470,10 +1474,6 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee) &frame_listener, ee); } - updates = evas_render_updates(ee->evas); - rend = _ecore_evas_wl_common_render_updates_process(ee, updates); - evas_render_updates_free(updates); - if (rend) wdata->frame_pending = EINA_TRUE; } @@ -1483,6 +1483,8 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee) ee->in_async_render = EINA_TRUE; rend = 1; } + else if (ee->func.fn_post_render) + ee->func.fn_post_render(ee); return rend; }