Be robust against extraneous signal emissions

It seems that we are occasionally get duplicate ClutterTimeline::completed
emissions. Make the code robust against that.

https://bugzilla.gnome.org/show_bug.cgi?id=677946
This commit is contained in:
Matthias Clasen 2012-06-12 15:22:33 -04:00 committed by Bastien Nocera
parent 651431dd83
commit 8c9a1eec33

View file

@ -483,6 +483,7 @@ static void
remove_on_complete (ClutterTimeline *timeline, remove_on_complete (ClutterTimeline *timeline,
RemoveData *data) RemoveData *data)
{ {
g_signal_handlers_disconnect_by_func (timeline, remove_on_complete, data);
data->notebook->priv->removed_pages = g_list_remove (data->notebook->priv->removed_pages, data); data->notebook->priv->removed_pages = g_list_remove (data->notebook->priv->removed_pages, data);
clutter_actor_destroy (data->frame); clutter_actor_destroy (data->frame);
g_free (data); g_free (data);