From 1e06c01f823ce652de5d9b21c19d2677d2788844 Mon Sep 17 00:00:00 2001 From: Jaehyun Cho Date: Wed, 1 Jul 2020 15:49:40 +0900 Subject: [PATCH] elc_naviframe: fix to show pushed item if top item is deleted If top item is deleted in "transition,finished" smart callback by user before _on_item_push_finished is not finished, then pushed item is hidden in _on_item_push_finished and no item is visible. To resolve the above issue, _on_item_push_finished does not hide pushed item if pushed item becomes top item. --- src/lib/elementary/elc_naviframe.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c index 894d88e641..e68d5803b2 100644 --- a/src/lib/elementary/elc_naviframe.c +++ b/src/lib/elementary/elc_naviframe.c @@ -1088,6 +1088,13 @@ _on_item_push_finished(void *data, ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd); + /* If pushed item becomes top item, then do not hide pushed item view. + * If top item is deleted in "transition,finished" smart callback by user + * before this function is called, then pushed item becomes top item. + */ + if (EO_OBJ(it) == elm_naviframe_top_item_get(WIDGET(it))) + return; + evas_object_hide(VIEW(it)); elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");