wearable:rotary_selector: fix delete item timing issue since sometiems it is not... 88/203888/1
authorTaehyub Kim <taehyub.kim@samsung.com>
Mon, 28 May 2018 08:21:34 +0000 (17:21 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Thu, 18 Apr 2019 05:42:06 +0000 (14:42 +0900)
Change-Id: I347e227a9fba276a88ebd94ee70b6c832bae69fa

src/wearable/efl_extension_rotary_selector.c

index 90cfc68ec9608a487336659749e6f185a6998d7f..33e1a18affa8be8e710e1301eac48d28040f6593 100644 (file)
@@ -377,9 +377,6 @@ _del_item_timer_cb(void *data)
    Eext_Rotary_Selector_Data *rsd = (Eext_Rotary_Selector_Data *)data;
 
    rsd->item_del_timer = NULL;
-   evas_object_smart_callback_call(rsd->rotary_selector, "item,deleted", (void*)rsd->del_item);
-   if (rsd->del_item)
-     evas_object_del(rsd->del_item->base.obj);
    rsd->del_item_move_animator = ecore_animator_add(_del_item_move_animator_cb, rsd);
 
    return ECORE_CALLBACK_CANCEL;
@@ -393,6 +390,11 @@ _delete_item(Eext_Rotary_Selector_Data *rsd, Eext_Rotary_Selector_Item *it)
    elm_object_signal_emit(it->base.obj, "elm,selector,item,hide", "elm");
    rsd->del_item_index = rsd->pressed_item_index;
    rsd->item_move_started = EINA_TRUE;
+
+   evas_object_smart_callback_call(rsd->rotary_selector, "item,deleted", (void*)rsd->del_item);
+   if (rsd->del_item)
+     evas_object_del(rsd->del_item->base.obj);
+
    if (rsd->item_del_timer)
      ecore_timer_del(rsd->item_del_timer);
    rsd->item_del_timer = ecore_timer_add(_ROTARY_SELECTOR_DEL_ANIMATION_DURATION, _del_item_timer_cb, rsd);