discomfitor pushed a commit to branch master.

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

commit 35622614d0ee6510692bb3f4a9fddd260e12ba79
Author: Derek Foreman <derek.foreman.sams...@gmail.com>
Date:   Tue Jul 31 17:02:39 2018 -0400

    ecore_evas: Make sure a manual render does a manual render
    
    Summary:
    If we call ecore_evas_manual_render() during an async render, it does
    nothing.
    
    This is harmful if we've added render post callbacks during that async
    render and expect them to fire.
    
    Force a sync and another render if we're in an async render.
    
    ref T7156
    Depends on D6714
    
    Reviewers: zmike
    
    Reviewed By: zmike
    
    Subscribers: cedric, #committers, zmike
    
    Tags: #efl
    
    Maniphest Tasks: T7156
    
    Differential Revision: https://phab.enlightenment.org/D6715
---
 src/lib/ecore_evas/ecore_evas.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index e6cb647c0c..004896de90 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -2649,6 +2649,15 @@ ecore_evas_manual_render(Ecore_Evas *ee)
 
         ecore_evas_animator_tick(ee, NULL, t);
      }
+   else
+     {
+        /* We want to ensure a manual render actually takes place,
+         * even if we were in the middle of an async render.  This
+         * will ensure that any post render callbacks added
+         * specifically for this manual render will fire.
+         */
+        ecore_evas_render_wait(ee);
+     }
 
    if (ee->engine.func->fn_render)
      {

-- 


Reply via email to