forked from enlightenment/efl
elm win: fix window redraw if norender is enabled on withdrawn windows
we dont set this config by default so we dont see this - but a window starts as withdrawn then becomes normal. this means the window starts not rendering and may take 0.5 seconds to START because the eval is deferred by 0.5 sec to avoid rapid switch to/from norender and other states. @fix
This commit is contained in:
parent
09d51174ad
commit
f60527f3ff
|
@ -1596,9 +1596,9 @@ _elm_win_evas_object_smart_show(Eo *obj, Elm_Win_Data *sd)
|
|||
if (sd->modal_count) return;
|
||||
const Eina_List *l;
|
||||
Evas_Object *current;
|
||||
Eina_Bool do_eval = EINA_FALSE;
|
||||
|
||||
if (!evas_object_visible_get(obj))
|
||||
_elm_win_state_eval_queue();
|
||||
if (!evas_object_visible_get(obj)) do_eval = EINA_TRUE;
|
||||
eo_do_super(obj, MY_CLASS, evas_obj_smart_show());
|
||||
|
||||
if ((sd->modal) && (!evas_object_visible_get(obj)))
|
||||
|
@ -1619,6 +1619,15 @@ _elm_win_evas_object_smart_show(Eo *obj, Elm_Win_Data *sd)
|
|||
elm_interface_atspi_accessible_children_changed_added_signal_emit(root, obj);
|
||||
}
|
||||
|
||||
if (do_eval)
|
||||
{
|
||||
if (_elm_win_state_eval_timer)
|
||||
{
|
||||
ecore_timer_del(_elm_win_state_eval_timer);
|
||||
_elm_win_state_eval_timer = NULL;
|
||||
}
|
||||
_elm_win_state_eval(NULL);
|
||||
}
|
||||
if (sd->shot.info) _shot_handle(sd);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue