From 8e6cd13766c0b664d008ee41ea45856f4f0a2aa2 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 30 Jan 2014 06:59:11 -0500 Subject: [PATCH] fix some misuses of comp animating flag T879 --- src/bin/e_comp_object.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 046bff673..5e83a0a4d 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1153,11 +1153,14 @@ _e_comp_intercept_hide(void *data, Evas_Object *obj) else { e_comp_object_signal_emit(obj, "e,state,hidden", "e"); - cw->comp->animating++; - cw->animating = 1; - e_object_ref(E_OBJECT(cw->ec)); + if (!cw->animating) + { + cw->comp->animating++; + cw->animating = 1; + e_object_ref(E_OBJECT(cw->ec)); + } } - cw->defer_hide = cw->animating; + cw->defer_hide = !!cw->animating; if (!cw->animating) e_comp_object_effect_set(obj, NULL); } @@ -1833,9 +1836,12 @@ _e_comp_smart_show(Evas_Object *obj) else { e_comp_object_signal_emit(cw->smart_obj, "e,state,visible", "e"); - cw->comp->animating++; - cw->animating = 1; - e_object_ref(E_OBJECT(cw->ec)); + if (!cw->animating) + { + cw->comp->animating++; + cw->animating = 1; + e_object_ref(E_OBJECT(cw->ec)); + } } if (!cw->animating) e_comp_object_effect_set(obj, NULL); @@ -3306,6 +3312,7 @@ e_comp_object_effect_start(Evas_Object *obj, Edje_Signal_Cb end_cb, const void * evas_object_data_set(cw->effect_obj, "_e_comp.end_data", end_data); edje_object_signal_emit(cw->effect_obj, "e,action,go", "e"); + if (cw->animating) return; cw->comp->animating++; cw->animating++; e_object_ref(E_OBJECT(cw->ec));