diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 14cf7f99c..9e0bba1c3 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -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) {