devilhorns pushed a commit to branch master.

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

commit 4aeee0de4c5042a7fa66ccd561fb804a5471c426
Author: Chris Michael <[email protected]>
Date:   Fri Aug 22 13:31:09 2014 -0400

    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 <[email protected]>
---
 .../ecore_evas/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 532e900..0c0ce81 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;
 }

-- 


Reply via email to