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
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