diff options
author | Wonsik Jung <sidein@samsung.com> | 2015-11-05 20:37:11 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2015-11-05 20:39:39 +0900 |
commit | 466c164e1d1b1067df3958b93891ad9ea49a47da (patch) | |
tree | 33d7a3dc65cbc3a2cc12185218247535017253d2 | |
parent | 4034204416a558f1d59d611f747c25c914b7efdd (diff) | |
download | elementary-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.c | 13 |
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 |