handle compositor animation race condition when changing effects
this is more of an academic case than any existing scenario, but it's possible that an effect may be stopped by something attempting to trigger another effect during the animation
This commit is contained in:
parent
dc444f5489
commit
2936a4ccfe
|
@ -3612,10 +3612,20 @@ e_comp_object_effect_set(Evas_Object *obj, const char *effect)
|
|||
if (!e_theme_edje_object_set(cw->effect_obj, "base/theme/comp", buf))
|
||||
if (!e_theme_edje_object_set(cw->effect_obj, "base/theme/comp", "e/comp/effects/none"))
|
||||
{
|
||||
if (cw->effect_running)
|
||||
{
|
||||
if (!e_comp_object_effect_stop(obj, evas_object_data_get(cw->effect_obj, "_e_comp.end_cb")))
|
||||
return EINA_FALSE;
|
||||
}
|
||||
cw->effect_set = EINA_FALSE;
|
||||
return cw->effect_set;
|
||||
}
|
||||
}
|
||||
if (cw->effect_running)
|
||||
{
|
||||
if (!e_comp_object_effect_stop(obj, evas_object_data_get(cw->effect_obj, "_e_comp.end_cb")))
|
||||
return EINA_FALSE;
|
||||
}
|
||||
edje_object_part_swallow(cw->effect_obj, "e.swallow.content", cw->shobj);
|
||||
if (cw->effect_clip)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue