summaryrefslogtreecommitdiff
path: root/gtk/gtktoolpalette.c
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2012-09-12 09:08:28 -0400
committerMatthias Clasen <mclasen@redhat.com>2012-09-16 20:21:06 -0400
commit8a9a3949ddb4238444339426c9a82412299f2b83 (patch)
tree9ddaac28a8b27e8b2a1bf3cae2e46de50db204bb /gtk/gtktoolpalette.c
parent1f5dea9eba4de5a54e9370fe8e4b90e6c0cec200 (diff)
downloadgtk+-8a9a3949ddb4238444339426c9a82412299f2b83.tar.gz
Don't leak a ref to the settings
https://bugzilla.gnome.org/show_bug.cgi?id=683896
Diffstat (limited to 'gtk/gtktoolpalette.c')
-rw-r--r--gtk/gtktoolpalette.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c
index 9d8cd04996..1503276a6b 100644
--- a/gtk/gtktoolpalette.c
+++ b/gtk/gtktoolpalette.c
@@ -383,6 +383,14 @@ gtk_tool_palette_dispose (GObject *object)
palette->priv->text_size_group = NULL;
}
+ if (palette->priv->settings_connection > 0)
+ {
+ g_signal_handler_disconnect (palette->priv->settings, palette->priv->settings_connection);
+ palette->priv->settings_connection = 0;
+ }
+
+ g_clear_object (&palette->priv->settings);
+
G_OBJECT_CLASS (gtk_tool_palette_parent_class)->dispose (object);
}
@@ -932,6 +940,7 @@ gtk_tool_palette_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);
}