diff options
author | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2017-09-04 14:58:39 +0900 |
---|---|---|
committer | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2017-09-04 15:35:23 +0900 |
commit | 8574128b67d336e796ca0f0abc9b97e65f7799d4 (patch) | |
tree | dda70179e688837aebbd08d8c6881c0043e0e40a | |
parent | c51f35d42a148b34a9cf74714ecc16609984eecb (diff) | |
download | efl-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.c | 9 |
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); |