diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index d3bc3f69c5..4e33310faf 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -1260,3 +1260,7 @@ 2013-04-16 WooHyun Jung * When entry is disabled, scrolling is also disabled. + +2013-04-17 ChunEon Park + + * Don't try to pop the naviframe item multiple times. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index 89e0dc0997..9b11d9d74f 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -98,6 +98,7 @@ Improvements: * Naviframe is now supproting focus_direction. * Scroller decides whether the accelerator is on or not, depending on the velocity and the interval time of the flick event. * Ctxpopup is now supproting focus_direction. + * Don't try to pop the naviframe item multiple times. Fixes: diff --git a/legacy/elementary/src/lib/elc_naviframe.c b/legacy/elementary/src/lib/elc_naviframe.c index 2995678c6d..0026099b38 100644 --- a/legacy/elementary/src/lib/elc_naviframe.c +++ b/legacy/elementary/src/lib/elc_naviframe.c @@ -1617,9 +1617,17 @@ _item_pop(Eo *obj, void *_pd, va_list *list) it = (Elm_Naviframe_Item *)elm_naviframe_top_item_get(obj); if (!it) return; + if (it->animator || it->popping) return; + + it->popping = EINA_TRUE; + if (it->pop_cb) { - if (!it->pop_cb(it->pop_data, (Elm_Object_Item *)it)) return; + if (!it->pop_cb(it->pop_data, (Elm_Object_Item *)it)) + { + it->popping = EINA_FALSE; + return; + } } if (sd->preserve) diff --git a/legacy/elementary/src/lib/elm_widget_naviframe.h b/legacy/elementary/src/lib/elm_widget_naviframe.h index 3d8f274fa8..a41288ef9a 100644 --- a/legacy/elementary/src/lib/elm_widget_naviframe.h +++ b/legacy/elementary/src/lib/elm_widget_naviframe.h @@ -56,6 +56,7 @@ struct _Elm_Naviframe_Item Eina_Bool title_visible : 1; Eina_Bool unfocusable : 1; + Eina_Bool popping : 1; }; typedef struct _Elm_Naviframe_Content_Item_Pair Elm_Naviframe_Content_Item_Pair;