}
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 *);
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