comp object layer bug fix when effect stop 92/66192/3
authorSungbae Park <sb34.park@samsung.com>
Sat, 16 Apr 2016 08:07:23 +0000 (17:07 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Mon, 18 Apr 2016 07:32:38 +0000 (00:32 -0700)
Signed-off-by: Sungbae Park <sb34.park@samsung.com>
Change-Id: I14440e52b31efa93ef67491eed5773a9ed9b8c39

src/bin/e_comp_object.c

index 36dc114e6600b15873991b6a43334fbf18b1a5dd..d58a6f50d9b548bd225e42b1380a2bd070dea73d 100644 (file)
@@ -4084,8 +4084,15 @@ e_comp_object_effect_start(Evas_Object *obj, Edje_Signal_Cb end_cb, const void *
 E_API Eina_Bool
 e_comp_object_effect_stop(Evas_Object *obj, Edje_Signal_Cb end_cb)
 {
+   int ret = 0;
+   Edje_Signal_Cb end_cb_before = NULL;
+   void *end_data_before = NULL;
    API_ENTRY EINA_FALSE;
-   if (evas_object_data_get(cw->effect_obj, "_e_comp.end_cb") != end_cb) return EINA_TRUE;
+
+   end_cb_before   = evas_object_data_get(cw->effect_obj, "_e_comp.end_cb");
+   end_data_before = evas_object_data_get(cw->effect_obj, "_e_comp.end_data");
+
+   if (end_cb_before != end_cb) return EINA_TRUE;
    e_comp_object_effect_unclip(obj);
    if (cw->effect_clip)
      {
@@ -4102,7 +4109,12 @@ e_comp_object_effect_stop(Evas_Object *obj, Edje_Signal_Cb end_cb)
      }
 
    cw->effect_running = 0;
-   return _e_comp_object_animating_end(cw);
+   ret = _e_comp_object_animating_end(cw);
+
+   if ((ret) && (end_cb_before))
+      end_cb_before(end_data_before, cw->smart_obj, "e,action,done", "e");
+
+   return ret;
 }
 
 static int