summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaehyun Cho <jae_hyun.cho@samsung.com>2020-07-01 15:49:40 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2020-07-01 16:19:16 +0900
commit1e06c01f823ce652de5d9b21c19d2677d2788844 (patch)
tree971099beeb1f1b50463904a6d824d67358c16d49
parent682e9a6b55bc5d50a8eacbeab989c56e7e3a58fa (diff)
downloadefl-1e06c01f823ce652de5d9b21c19d2677d2788844.tar.gz
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.
-rw-r--r--src/lib/elementary/elc_naviframe.c7
1 files changed, 7 insertions, 0 deletions
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");