clutter/timeline: Don't manually set frame clock in set_actor()

In clutter_timeline_set_actor() we currently always unset the
priv->frame_clock pointer of the old actor when a new actor gets set.
The priv->frame_clock pointer takes a reference on the ClutterFrameClock
though, so we leak ClutterFrameClocks here.

To fix it, simply rely on update_frame_clock(), which will call
set_frame_clock_internal() unconditionally to update the
priv->frame_clock pointer for us.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1632>
This commit is contained in:
Jonas Dreßler 2020-12-14 11:18:41 +01:00 committed by Marge Bot
parent f363476229
commit 7871ab5437

View File

@ -473,11 +473,6 @@ clutter_timeline_set_actor (ClutterTimeline *timeline,
g_clear_signal_handler (&priv->stage_stage_views_handler_id, priv->stage);
priv->stage = NULL;
priv->actor = NULL;
if (priv->is_playing)
maybe_remove_timeline (timeline);
priv->frame_clock = NULL;
}
priv->actor = actor;