summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaehyun Cho <jae_hyun.cho@samsung.com>2017-09-04 14:58:39 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2017-09-04 15:35:23 +0900
commit8574128b67d336e796ca0f0abc9b97e65f7799d4 (patch)
treedda70179e688837aebbd08d8c6881c0043e0e40a
parentc51f35d42a148b34a9cf74714ecc16609984eecb (diff)
naviframe: Fix to finish transition for newly pushed item
If current item was deleted while new item was pushed, then the signals for the newly pushed item was not sent. The above issue happened if the transition effect was implemented by using deferred signals (i.e. "pushed,deferred" and "popped,deferred"). To resolve the above issue, the signals only for the deleted item is not sent.
-rw-r--r--src/lib/elementary/elc_naviframe.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index cd53e7a..a6d8f61 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -627,11 +627,10 @@ end:
627 * This case can happen when an item is deleted by elm_object_item_del() 627 * This case can happen when an item is deleted by elm_object_item_del()
628 * right after the item is newly pushed. 628 * right after the item is newly pushed.
629 */ 629 */
630 if ((nfo->self == nit) || (nfo->related == nit)) 630 if (nit == nfo->self)
631 { 631 nfo->self = NULL;
632 nfo->self = NULL; 632 else if (nit == nfo->related)
633 nfo->related = NULL; 633 nfo->related = NULL;
634 }
635 } 634 }
636 635
637 _item_free(nit); 636 _item_free(nit);