naviframe: Raise previous view after item pop is finished. 46/104846/1
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Wed, 14 Dec 2016 10:53:49 +0000 (19:53 +0900)
committerJaehyun Cho <jae_hyun.cho@samsung.com>
Wed, 14 Dec 2016 11:28:01 +0000 (20:28 +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 53d21b2..21fa1b9 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");