summaryrefslogtreecommitdiff
path: root/clutter/clutter-actor.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2015-01-01 12:48:39 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2015-01-01 12:48:39 +0000
commiteb51f6cf10bec7ec8ea45761a154a8961f162ba3 (patch)
treefc9542f11aa229565be188df2a8d4fddc36c5df5 /clutter/clutter-actor.c
parentd930bdf3fc32d5ab1d0d19bb3e94efb3963cd797 (diff)
downloadclutter-eb51f6cf10bec7ec8ea45761a154a8961f162ba3.tar.gz
actor: Do not restore the easing state in finalize()
The easing state is part of the AnimationInfo structure, which is stored inside the GObject's datalist. Each instance frees the data stored there during finalization, so there is no point for us to restore an easing state (which may or may not be the last one) just to have everything cleared out once we chain up to GObject's own finalize() implementation.
Diffstat (limited to 'clutter/clutter-actor.c')
-rw-r--r--clutter/clutter-actor.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
index 43458b824..45e1ac4f9 100644
--- a/clutter/clutter-actor.c
+++ b/clutter/clutter-actor.c
@@ -5894,10 +5894,8 @@ clutter_actor_finalize (GObject *object)
CLUTTER_NOTE (MISC, "Finalize actor (name='%s', id=%d) of type '%s'",
priv->name != NULL ? priv->name : "<none>",
- priv->id,
- g_type_name (G_OBJECT_TYPE (object)));
-
- clutter_actor_restore_easing_state (CLUTTER_ACTOR (object));
+ priv->id,
+ g_type_name (G_OBJECT_TYPE (object)));
_clutter_context_release_id (priv->id);
@@ -8456,6 +8454,9 @@ clutter_actor_init (ClutterActor *self)
*/
priv->needs_compute_expand = FALSE;
+ /* we start with an easing state with duration forcibly set
+ * to 0, for backward compatibility.
+ */
clutter_actor_save_easing_state (self);
clutter_actor_set_easing_duration (self, 0);
}