From: ChunEon Park Date: Mon, 20 May 2013 11:42:38 +0000 (+0900) Subject: elemenatry/naviframe - don't pop the view if the freeze_event is enabled and some... X-Git-Tag: submit/efl/20131021.015827~523 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f8df137bee5aba9602689b902c7fae4577d8008b;p=platform%2Fupstream%2Felementary.git elemenatry/naviframe - don't pop the view if the freeze_event is enabled and some views are alreadying popping. --- diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index 349b5fb..490f608 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -1341,8 +1341,9 @@ _elm_naviframe_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) } static void -_elm_naviframe_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +_elm_naviframe_smart_event(Eo *obj, void *_pd, va_list *list) { + Elm_Naviframe_Smart_Data *sd = _pd; Evas_Object *source = va_arg(*list, Evas_Object *); Evas_Callback_Type type = va_arg(*list, Evas_Callback_Type); Evas_Event_Key_Down *ev = va_arg(*list, Evas_Event_Key_Down *); @@ -1359,13 +1360,15 @@ _elm_naviframe_smart_event(Eo *obj, void *_pd EINA_UNUSED, va_list *list) eo_do(obj, elm_obj_naviframe_top_item_get((Elm_Object_Item **)&it)); if (!it) return; + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + if (ret) *ret = EINA_TRUE; + + if (sd->freeze_events && sd->popping) return; + //FIXME: Replace this below code to elm_naviframe_item_pop() at elm 2.0. ///Leave for compatibility. if (it->title_prev_btn) evas_object_smart_callback_call(it->title_prev_btn, SIG_CLICKED, NULL); - - ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; - if (ret) *ret = EINA_TRUE; } static void