summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWonsik Jung <sidein@samsung.com>2015-11-05 20:37:11 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-11-05 20:39:39 +0900
commit466c164e1d1b1067df3958b93891ad9ea49a47da (patch)
tree33d7a3dc65cbc3a2cc12185218247535017253d2
parent4034204416a558f1d59d611f747c25c914b7efdd (diff)
downloadelementary-466c164e1d1b1067df3958b93891ad9ea49a47da.tar.gz
win : Prohibiting auto-rendering, until elm_win is shown.
Summary: Although elm_win is only created and evas_object_show with elm_win is not called, evas_rendering works sometimes. This rendering is not necessary. Because on one is shown and just back buffer is allocated. This patch is the prohibiting auto-rendering, if elm_win is shown by calling evas_object_show() It is effective for power consumption and reducing memory. @fix Test Plan: 1. elementary_test : checking all menus's working 2. modifed bg_example_02 : updated elm_bg's color by animator without evas_object_show(elm_win) Reviewers: jpeg, jypark, raster Reviewed By: raster Differential Revision: https://phab.enlightenment.org/D3282
-rw-r--r--src/lib/elm_win.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index f9d3e8428..a1d38cc91 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -3826,6 +3826,19 @@ _elm_win_finalize_internal(Eo *obj, Elm_Win_Data *sd, const char *name, Elm_Win_
elm_win_focus_highlight_animate_set(obj, EINA_TRUE);
}
+ //Prohibiting auto-rendering, until elm_win is shown.
+ if (_elm_config->auto_norender_withdrawn)
+ {
+ if (elm_win_withdrawn_get(obj))
+ {
+ if (!evas_object_data_get(obj, "__win_auto_norender"))
+ {
+ elm_win_norender_push(obj);
+ evas_object_data_set(obj, "__win_auto_norender", obj);
+ }
+ }
+ }
+
#ifdef ELM_DEBUG
Evas_Modifier_Mask mask = evas_key_modifier_mask_get(sd->evas, "Control");
evas_object_event_callback_add