summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSungtaek Hong <sth253.hong@samsung.com>2017-01-02 15:41:20 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-01-02 15:41:21 +0900
commit5a9c6d393aeda99d2691953dc978ec8b5f905fa7 (patch)
treed4bbc0faade54a598a5e5922cf0d318b319ff232
parent40e9da0101e2c9afb6f823c7b21c02a011cc5300 (diff)
downloadefl-5a9c6d393aeda99d2691953dc978ec8b5f905fa7.tar.gz
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
-rw-r--r--src/lib/elementary/elc_naviframe.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index c8bce97d49..0cf45b5976 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");