naviframe: Fix to finish transition for newly pushed item
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Mon, 4 Sep 2017 05:58:39 +0000 (14:58 +0900)
committerJaehyun Cho <jae_hyun.cho@samsung.com>
Mon, 4 Sep 2017 06:35:23 +0000 (15:35 +0900)
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.

src/lib/elementary/elc_naviframe.c

index cd53e7a..a6d8f61 100644 (file)
@@ -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);