elc_naviframe: Use tizen_effect_cancel from naviframe_effect module 69/143469/1
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Wed, 9 Aug 2017 13:37:26 +0000 (22:37 +0900)
committerJaehyun Cho <jae_hyun.cho@samsung.com>
Thu, 10 Aug 2017 05:12:49 +0000 (14:12 +0900)
Use tizen_effect_cancel API from naviframe_effect module to cancel push
effect when a newly pushed item is deleted before the push effect is
started.

Change-Id: Ia3d89bda1b4f128a80c1cf78e3ac33e34c564dc2

src/lib/elc_naviframe.c
src/lib/elm_widget_naviframe.h

index ea31f397708f5d8211fe34bbe16ae711d1488592..2ea4862b463e7b69fa901823f83bf97801ab1a8c 100644 (file)
@@ -72,6 +72,8 @@ _nf_mod_init(void)
       _elm_module_symbol_get(mod, "tizen_pop_deferred_effect");
    ((Elm_Naviframe_Mod_Api *)(mod->api))->tizen_effect_enabled_get =
       _elm_module_symbol_get(mod, "tizen_effect_enabled_get");
+   ((Elm_Naviframe_Mod_Api *)(mod->api))->tizen_effect_cancel =
+      _elm_module_symbol_get(mod, "tizen_effect_cancel");
 
    nf_mod = mod->api;
 }
@@ -674,7 +676,12 @@ _elm_naviframe_item_eo_base_destructor(Eo *eo_item, Elm_Naviframe_Item_Data *it)
 
         //TIZEN ONLY(20161208): Support tizen transition
         //elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm");
-        if (!_tizen_effect_enabled_get(prev_it))
+        if (_tizen_effect_enabled_get(nit))
+          nf_mod->tizen_effect_cancel(VIEW(nit));
+
+        if (_tizen_effect_enabled_get(prev_it))
+          nf_mod->tizen_effect_cancel(VIEW(prev_it));
+        else
           elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm");
         //
 
index 374152af868b6dd8dd615ba7303270eca09f09fc..d21b145c3deff20929fed50e0171e5a2190def1e 100644 (file)
@@ -103,6 +103,7 @@ struct _Elm_Naviframe_Mod_Api
    void (*tizen_push_deferred_effect)(Evas_Object *nf, Evas_Object *view, Eina_Bool is_cur_view);
    void (*tizen_pop_deferred_effect)(Evas_Object *nf, Evas_Object *view, Eina_Bool is_cur_view);
    Eina_Bool (*tizen_effect_enabled_get)(Evas_Object *view);
+   void (*tizen_effect_cancel)(Evas_Object *view);
 };
 //