elemenatry/naviframe - don't pop the view if the freeze_event is enabled and some views are alreadying popping.

This commit is contained in:
ChunEon Park 2013-05-20 20:42:38 +09:00
parent 901c037aa7
commit 1e9ef8aa5b
1 changed files with 7 additions and 4 deletions

View File

@ -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