naviframe : Fixed the overlap issue during multiple push.
authorSubhransu Sekhar Mohanty <sub.mohanty@samsung.com>
Sat, 22 Mar 2014 05:22:32 +0000 (14:22 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Sat, 22 Mar 2014 05:24:24 +0000 (14:24 +0900)
Summary:
Currently there is a overlap issue in naviframe in case of multiple push.
This issue will occur if the naviframe edc implements push,defered for
the item transition. The issue occurs becoz of cur,push,deffered is not being
called to the current and intermediate items during multiple item push.
To fix the above issue pass the data as current item that needs to be
out of the aviframe during creating the animator job.

@fix

Reviewers: Jaehyun, seoz, Hermet

Reviewed By: Hermet

CC: raster
Differential Revision: https://phab.enlightenment.org/D645

src/lib/elc_naviframe.c

index e39e2f9296cba4d7aa1b432021935c3e06b3f494..070200b56602c90aaeea6195cc346fdc8139ee34 100644 (file)
@@ -1462,13 +1462,11 @@ _push_transition_cb(void *data)
 {
    Elm_Naviframe_Item *prev_it, *it = data;
 
-   ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd);
-
    it->animator = NULL;
 
-   if (sd->stack->last->prev)
+   if (EINA_INLIST_GET(it)->prev)
      {
-        prev_it = EINA_INLIST_CONTAINER_GET(sd->stack->last->prev,
+        prev_it = EINA_INLIST_CONTAINER_GET(EINA_INLIST_GET(it)->prev,
                                             Elm_Naviframe_Item);
         elm_object_signal_emit(VIEW(prev_it), "elm,state,cur,pushed,deferred",
                                 "elm");