reduce shape recalc for clients which cannot currently receive input
This commit is contained in:
parent
610c439abd
commit
28d6eecceb
|
@ -646,6 +646,8 @@ _e_comp_object_done_defer(void *data, Evas_Object *obj EINA_UNUSED, const char *
|
|||
/* hide only after animation finishes to guarantee a full run of the animation */
|
||||
if (cw->defer_hide && (!strcmp(emission, "e,action,hide,done")))
|
||||
evas_object_hide(cw->smart_obj);
|
||||
else if (!cw->animating)
|
||||
e_comp_shape_queue(cw->comp);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////
|
||||
|
@ -1970,8 +1972,11 @@ _e_comp_smart_show(Evas_Object *obj)
|
|||
if (cw->ec->internal_elm_win && (!evas_object_visible_get(cw->ec->internal_elm_win)))
|
||||
evas_object_show(cw->ec->internal_elm_win);
|
||||
e_comp_render_queue(cw->comp);
|
||||
e_comp_shape_queue(cw->comp);
|
||||
if (cw->ec->input_only) return;
|
||||
if (cw->ec->input_only)
|
||||
{
|
||||
e_comp_shape_queue(cw->comp);
|
||||
return;
|
||||
}
|
||||
if (cw->ec->iconic && (!cw->ec->new_client))
|
||||
e_comp_object_signal_emit(cw->smart_obj, "e,action,uniconify", "e");
|
||||
else
|
||||
|
@ -1983,7 +1988,10 @@ _e_comp_smart_show(Evas_Object *obj)
|
|||
}
|
||||
/* ensure some random effect doesn't lock the client offscreen */
|
||||
if (!cw->animating)
|
||||
e_comp_object_effect_set(obj, NULL);
|
||||
{
|
||||
e_comp_object_effect_set(obj, NULL);
|
||||
e_comp_shape_queue(cw->comp);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2106,7 +2114,8 @@ _e_comp_smart_resize(Evas_Object *obj, int w, int h)
|
|||
}
|
||||
if (!cw->visible) return;
|
||||
e_comp_render_queue(cw->comp);
|
||||
e_comp_shape_queue(cw->comp);
|
||||
if (!cw->animating)
|
||||
e_comp_shape_queue(cw->comp);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3502,7 +3511,8 @@ _e_comp_object_effect_end_cb(void *data, Evas_Object *obj, const char *emission,
|
|||
{
|
||||
cw->comp->animating--;
|
||||
cw->animating--;
|
||||
e_object_unref(E_OBJECT(cw->ec));
|
||||
if (e_object_unref(E_OBJECT(cw->ec)))
|
||||
e_comp_shape_queue(cw->comp);
|
||||
}
|
||||
|
||||
end_cb = evas_object_data_get(obj, "_e_comp.end_cb");
|
||||
|
|
Loading…
Reference in New Issue