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:
Carsten Haitzler 2016-02-18 18:15:00 +09:00
parent 09d51174ad
commit f60527f3ff
1 changed files with 11 additions and 2 deletions

View File

@ -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);
}