diff --git a/clutter/clutter/clutter-timeline.c b/clutter/clutter/clutter-timeline.c index 0c026ebe8..df7db160b 100644 --- a/clutter/clutter/clutter-timeline.c +++ b/clutter/clutter/clutter-timeline.c @@ -424,6 +424,11 @@ clutter_timeline_set_custom_property (ClutterScriptable *scriptable, g_object_set_property (G_OBJECT (scriptable), name, value); } +static void +clutter_timeline_cancel_delay (ClutterTimeline *timeline) +{ + g_clear_handle_id (&timeline->priv->delay_id, g_source_remove); +} static void clutter_scriptable_iface_init (ClutterScriptableIface *iface) @@ -550,11 +555,7 @@ clutter_timeline_dispose (GObject *object) priv = self->priv; - if (priv->delay_id) - { - g_source_remove (priv->delay_id); - priv->delay_id = 0; - } + clutter_timeline_cancel_delay (self); if (priv->progress_notify != NULL) { @@ -1216,11 +1217,7 @@ clutter_timeline_pause (ClutterTimeline *timeline) if (priv->delay_id == 0 && !priv->is_playing) return; - if (priv->delay_id) - { - g_source_remove (priv->delay_id); - priv->delay_id = 0; - } + clutter_timeline_cancel_delay (timeline); priv->msecs_delta = 0; set_is_playing (timeline, FALSE);