clutter/timeline: Add running timeline to frameclock if it changes

It's intended that timelines can change frame clock while running; but
up until now it'd only add itself if the frame clock was set when
started.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1285
This commit is contained in:
Jonas Ådahl 2020-06-02 15:06:21 +02:00
parent f31a7acab5
commit 9b054f4a1b

View File

@ -2523,8 +2523,14 @@ clutter_timeline_set_frame_clock (ClutterTimeline *timeline,
if (priv->frame_clock == frame_clock) if (priv->frame_clock == frame_clock)
return; return;
if (priv->frame_clock && priv->is_playing)
remove_timeline (timeline);
g_set_object (&priv->frame_clock, frame_clock); g_set_object (&priv->frame_clock, frame_clock);
g_object_notify_by_pspec (G_OBJECT (timeline), g_object_notify_by_pspec (G_OBJECT (timeline),
obj_props[PROP_FRAME_CLOCK]); obj_props[PROP_FRAME_CLOCK]);
if (priv->is_playing)
add_timeline (timeline);
} }