summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-08-16 20:04:07 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-08-17 10:28:10 +0900
commitc7ca7221abb7957b9d746fc29cd726e8971aea58 (patch)
tree79cc7350443bac6881e1144f8f9fe13537b5b1ce
parent7d5e5f749e2ee94c98536f16fcf5c80ed30f04fa (diff)
downloadefl-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.c7
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);