naviframe: Raise previous view after item pop is finished.
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Wed, 14 Dec 2016 10:53:49 +0000 (19:53 +0900)
committerWonki Kim <wonki_.kim@samsung.com>
Mon, 2 Jan 2017 05:37:08 +0000 (14:37 +0900)
Previously, previous view was raised immediately when item pop is
started so previous view covers current view when item pop is started.
Now, previous view is raised after item pop is finished so previous view
covers current view when item pop is finished.

Change-Id: I86f343e0b49f3801d00e553755896f0eb756daa0

src/lib/elc_naviframe.c

index 53d21b259eae78bbb90a788a455323f7f0259eca..21fa1b95ecafba8c2dd44df4d223cac00280d750 100644 (file)
@@ -1242,10 +1242,18 @@ _on_item_pop_finished(void *data,
                       const char *source EINA_UNUSED)
 {
    Elm_Naviframe_Item_Data *it = data;
+   Elm_Naviframe_Item_Data *prev_it = NULL;
    Eo *widget = WIDGET(it);
 
    ELM_NAVIFRAME_DATA_GET(widget, sd);
 
+   if (sd->stack && sd->stack->last)
+     {
+        prev_it = EINA_INLIST_CONTAINER_GET
+           (sd->stack->last, Elm_Naviframe_Item_Data);
+        _resize_object_reset(WIDGET(it), prev_it);
+     }
+
    if (sd->preserve)
      elm_widget_tree_unfocusable_set(VIEW(it), EINA_FALSE);
    sd->popping = eina_list_remove(sd->popping, it);
@@ -2052,8 +2060,6 @@ _elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *sd)
              evas_object_freeze_events_set(VIEW(prev_it), EINA_TRUE);
           }
 
-        _resize_object_reset(obj, prev_it);
-
         //TIZEN ONLY(20161208): Support tizen transition
         /* these 2 signals MUST take place simultaneously */
         //elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");