jpeg pushed a commit to branch master.

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

commit c7ca7221abb7957b9d746fc29cd726e8971aea58
Author: Jean-Philippe Andre <[email protected]>
Date:   Wed Aug 16 20:04:07 2017 +0900

    evas: Fix auto-show of EO objects
    
    Objects show should happen as early as possible during the render cycle,
    as it affects smart objects calculation and everything else.
    
    Thanks @JackDanielZ for the report!
    
    Fixes T5880
---
 src/lib/evas/canvas/evas_render.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index aaa519b36d..c72a3f6bb7 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2865,6 +2865,8 @@ evas_render_pre(Evas *eo_e, Evas_Public_Data *evas)
 {
    Eo *eo_obj;
 
+   if (!evas->finalize_objects) return; // avoid evlog
+
    // Finalize EO objects now
    eina_evlog("+render_pre_objects_finalize", eo_e, 0.0, NULL);
 
@@ -2904,8 +2906,6 @@ evas_render_updates_internal_loop(Evas *eo_e, 
Evas_Public_Data *evas,
    eina_evlog("+render_setup", eo_e, 0.0, NULL);
    RD(level, "  [--- UPDATE %i %i %ix%i\n", ux, uy, uw, uh);
 
-   evas_render_pre(eo_e, evas);
-
    off_x = cx - ux;
    off_y = cy - uy;
    /* build obscuring objects list (in order from bottom to top) */
@@ -3140,6 +3140,9 @@ evas_render_updates_internal(Evas *eo_e,
    if (evas_cserve2_use_get())
       evas_cserve2_dispatch();
 #endif
+
+   evas_render_pre(eo_e, evas);
+
    eina_evlog("+render_calc", eo_e, 0.0, NULL);
    evas_call_smarts_calculate(eo_e);
    eina_evlog("-render_calc", eo_e, 0.0, NULL);

-- 


Reply via email to