From: Jaehyun Cho Date: Wed, 9 Aug 2017 13:37:26 +0000 (+0900) Subject: elc_naviframe: Use tizen_effect_cancel from naviframe_effect module X-Git-Tag: submit/tizen_3.0/20170816.054926~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=950fce493e9cc5c45471686751b32df9dea7effc;p=platform%2Fupstream%2Felementary.git elc_naviframe: Use tizen_effect_cancel from naviframe_effect module 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 --- diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index ea31f3977..2ea4862b4 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -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"); // diff --git a/src/lib/elm_widget_naviframe.h b/src/lib/elm_widget_naviframe.h index 374152af8..d21b145c3 100644 --- a/src/lib/elm_widget_naviframe.h +++ b/src/lib/elm_widget_naviframe.h @@ -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); }; //