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)
downloadefl-8574128b67d336e796ca0f0abc9b97e65f7799d4.tar.gz
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 cd53e7aebe..a6d8f61eb2 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -627,11 +627,10 @@ end:
* This case can happen when an item is deleted by elm_object_item_del()
* right after the item is newly pushed.
*/
- if ((nfo->self == nit) || (nfo->related == nit))
- {
- nfo->self = NULL;
- nfo->related = NULL;
- }
+ if (nit == nfo->self)
+ nfo->self = NULL;
+ else if (nit == nfo->related)
+ nfo->related = NULL;
}
_item_free(nit);