jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5a9c6d393aeda99d2691953dc978ec8b5f905fa7

commit 5a9c6d393aeda99d2691953dc978ec8b5f905fa7
Author: Sungtaek Hong <sth253.h...@samsung.com>
Date:   Mon Jan 2 15:41:20 2017 +0900

    elm_naviframe: resize previous view before item pop transition.
    
    Summary:
     - In commit rEFL9f5e9ec7ca120242a92ac97fb20016263c152d8e
       previous view is raised after item pop transition
       so that current view's pop animation can be shown.
     - But, previous view has to be in it's proper size
       during transition because some of animation might
       show previous view.
    
    Reviewers: Jaehyun_Cho
    
    Subscribers: cedric, conr2d, jpeg
    
    Differential Revision: https://phab.enlightenment.org/D4535
---
 src/lib/elementary/elc_naviframe.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/elc_naviframe.c 
b/src/lib/elementary/elc_naviframe.c
index c8bce97..0cf45b5 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -1132,15 +1132,16 @@ _on_item_pop_finished(void *data,
                       const char *source EINA_UNUSED)
 {
    Elm_Naviframe_Item_Data *it = data;
-   Elm_Naviframe_Item_Data *prev_it = NULL;
+   Elm_Object_Item *eo_prev_it = NULL;
 
    ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd);
 
-   if (sd->stack && sd->stack->last)
+   eo_prev_it = elm_naviframe_top_item_get(WIDGET(it));
+   if (eo_prev_it)
      {
-        prev_it = EINA_INLIST_CONTAINER_GET
-           (sd->stack->last, Elm_Naviframe_Item_Data);
-        _resize_object_reset(WIDGET(it), prev_it);
+        ELM_NAVIFRAME_ITEM_DATA_GET(eo_prev_it, prev_it);
+
+        evas_object_raise(VIEW(prev_it));
      }
 
    if (sd->preserve)
@@ -1813,6 +1814,8 @@ _elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *sd)
              evas_object_freeze_events_set(VIEW(prev_it), EINA_TRUE);
           }
 
+        elm_widget_resize_object_set(obj, VIEW(prev_it), EINA_FALSE);
+
         /* these 2 signals MUST take place simultaneously */
         elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");
         elm_object_signal_emit(VIEW(prev_it), "elm,state,prev,popped", "elm");

-- 


Reply via email to