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.
This commit is contained in:
Jaehyun Cho 2020-07-01 15:49:40 +09:00
parent 682e9a6b55
commit 1e06c01f82
1 changed files with 7 additions and 0 deletions

View File

@ -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");