From 8a9a3949ddb4238444339426c9a82412299f2b83 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Wed, 12 Sep 2012 09:08:28 -0400 Subject: Don't leak a ref to the settings https://bugzilla.gnome.org/show_bug.cgi?id=683896 --- gtk/gtktoolitemgroup.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gtk/gtktoolitemgroup.c') diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index b61e1a13ea..5907bf4aa7 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -229,6 +229,7 @@ gtk_tool_item_group_screen_changed (GtkWidget *widget, if (old_settings) { g_signal_handler_disconnect (old_settings, priv->settings_connection); + priv->settings_connection = 0; g_object_unref (old_settings); } @@ -519,6 +520,14 @@ gtk_tool_item_group_dispose (GObject *object) priv->toplevel = NULL; } + if (priv->settings_connection > 0) + { + g_signal_handler_disconnect (priv->settings, priv->settings_connection); + priv->settings_connection = 0; + } + + g_clear_object (&priv->settings); + G_OBJECT_CLASS (gtk_tool_item_group_parent_class)->dispose (object); } -- cgit v1.2.1