elementary/naviframe - don't try to pop the naviframe item multiple times.
authorChunEon Park <hermet@hermet.pe.kr>
Wed, 17 Apr 2013 13:08:41 +0000 (22:08 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Wed, 17 Apr 2013 13:08:41 +0000 (22:08 +0900)
legacy/elementary/ChangeLog
legacy/elementary/NEWS
legacy/elementary/src/lib/elc_naviframe.c
legacy/elementary/src/lib/elm_widget_naviframe.h

index d3bc3f6..4e33310 100644 (file)
 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.
index 89e0dc0..9b11d9d 100644 (file)
@@ -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:
 
index 2995678..0026099 100644 (file)
@@ -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)
index 3d8f274..a41288e 100644 (file)
@@ -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;