elementary/transit - updated according to ecore_animator changes.
authorChunEon Park <hermet@hermet.pe.kr>
Wed, 1 Feb 2012 10:30:12 +0000 (10:30 +0000)
committerChunEon Park <hermet@hermet.pe.kr>
Wed, 1 Feb 2012 10:30:12 +0000 (10:30 +0000)
because the animator would not call the new animator in it's animator callback anymore,
the user should call the callback function explicitly now.

SVN revision: 67672

src/lib/elm_transit.c

index cbcf518..67cfa5b 100644 (file)
@@ -92,6 +92,7 @@ static void _transit_obj_remove_cb(void *data, Evas *e __UNUSED__, Evas_Object *
 static void _transit_obj_remove(Elm_Transit *transit, Evas_Object *obj);
 static void _transit_effect_del(Elm_Transit *transit, Elm_Transit_Effect_Module *effect_module);
 static void _transit_remove_dead_effects(Elm_Transit *transit);
+static void _transit_chain_go(Elm_Transit *transit);
 static void _transit_del(Elm_Transit *transit);
 static Eina_Bool _transit_animate_op(Elm_Transit *transit, double progress);
 static Eina_Bool _transit_animate_cb(void *data);
@@ -235,6 +236,14 @@ _transit_remove_dead_effects(Elm_Transit *transit)
 }
 
 static void
+_transit_chain_go(Elm_Transit *transit)
+{
+   ELM_TRANSIT_CHECK_OR_RETURN(transit);
+   elm_transit_go(transit);
+   _transit_animate_cb(transit);
+}
+
+static void
 _transit_del(Elm_Transit *transit)
 {
    Elm_Transit_Effect_Module *effect_module;
@@ -273,7 +282,8 @@ _transit_del(Elm_Transit *transit)
    if (transit->finished && transit->next_chain_transits)
      {
         EINA_LIST_FOREACH_SAFE(transit->next_chain_transits, elist, elist_next, chain_transit)
-          elm_transit_go(chain_transit);
+          _transit_chain_go(chain_transit);
+
      }
 
    eina_list_free(transit->next_chain_transits);