diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-08-16 20:04:07 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-08-17 10:28:10 +0900 |
commit | c7ca7221abb7957b9d746fc29cd726e8971aea58 (patch) | |
tree | 79cc7350443bac6881e1144f8f9fe13537b5b1ce | |
parent | 7d5e5f749e2ee94c98536f16fcf5c80ed30f04fa (diff) | |
download | efl-c7ca7221abb7957b9d746fc29cd726e8971aea58.tar.gz |
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
-rw-r--r-- | src/lib/evas/canvas/evas_render.c | 7 |
1 files 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); |