[elc_naviframe] : revert back code to fix gallery app issue.
authorShilpa Singh <shilpa.singh@samsung.com>
Mon, 24 Oct 2011 09:31:14 +0000 (18:31 +0900)
committerShilpa Singh <shilpa.singh@samsung.com>
Mon, 24 Oct 2011 09:31:14 +0000 (18:31 +0900)
Change-Id: I1322fc6b0ec29ea5172fac39eeeb14eb0b8dbb4a

src/lib/elc_naviframe.c

index 8e97fa6..cc014c7 100644 (file)
@@ -148,10 +148,7 @@ _del_hook(Evas_Object *obj)
    if (!wd) return;
 
    EINA_INLIST_REVERSE_FOREACH(wd->stack, it)
-     {
-        wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET(it));
-        _item_del(it);
-     }
+     _item_del(it);
    free(wd);
 }
 
@@ -719,6 +716,8 @@ _item_del(Elm_Naviframe_Item *it)
 
    eina_stringshare_del(it->style);
 
+   wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET(it));
+
    elm_widget_item_del(it);
 }
 
@@ -1034,7 +1033,6 @@ elm_naviframe_item_pop(Evas_Object *obj)
    if (wd->stack->last->prev)
      prev_it = EINA_INLIST_CONTAINER_GET(wd->stack->last->prev,
                                          Elm_Naviframe_Item);
-   wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET(it));
    if (prev_it)
      {
         if (wd->freeze_events)
@@ -1073,7 +1071,6 @@ elm_naviframe_item_pop_to(Elm_Object_Item *it)
         if (EINA_INLIST_CONTAINER_GET(l, Elm_Naviframe_Item) ==
             ((Elm_Naviframe_Item *) it)) break;
         prev_l = l->prev;
-        wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET((Elm_Naviframe_Item *) it));
         _item_del(EINA_INLIST_CONTAINER_GET(l, Elm_Naviframe_Item));
         l = prev_l;
      }
@@ -1116,7 +1113,6 @@ elm_naviframe_item_del(Elm_Object_Item *it)
    Widget_Data *wd = elm_widget_data_get(navi_it->base.widget);
    if (it == elm_naviframe_top_item_get(navi_it->base.widget))
      {
-        wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET(navi_it));
         _item_del(navi_it);
         navi_it = EINA_INLIST_CONTAINER_GET(wd->stack->last,
                                             Elm_Naviframe_Item);
@@ -1125,10 +1121,7 @@ elm_naviframe_item_del(Elm_Object_Item *it)
         edje_object_signal_emit(navi_it->base.view, "elm,state,visible", "elm");
      }
    else
-     {
-        wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET(navi_it));
-        _item_del(navi_it);
-     }
+     _item_del(navi_it);
 }
 
 EAPI void