[gnome-control-center] region: Fix leak in input chooser
- From: Joaquim Manuel Pereira Rocha <jrocha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] region: Fix leak in input chooser
- Date: Tue, 10 Mar 2015 18:47:32 +0000 (UTC)
commit bbae930988ad65edcd2a2afc06692943b236596f
Author: Joaquim Rocha <me joaquimrocha com>
Date: Tue Feb 24 20:45:39 2015 +0100
region: Fix leak in input chooser
The language input chooser is being leaked. The reason for the leak
is a "circular reference": the input chooser keeps a GtkBuilder
instance that gets destroyed when the chooser is, itself, destroyed.
However, the input chooser is never destroyed because the GtkBuilder
instance keeps a reference to it.
These changes dismiss the GtkBuilder once it is no longer needed in the
input chooser which fixes the leak.
panels/region/cc-input-chooser.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/panels/region/cc-input-chooser.c b/panels/region/cc-input-chooser.c
index e559e6e..b0e0676 100644
--- a/panels/region/cc-input-chooser.c
+++ b/panels/region/cc-input-chooser.c
@@ -1139,7 +1139,6 @@ cc_input_chooser_new (GtkWindow *main_window,
chooser = WID ("input-dialog");
priv = g_new0 (CcInputChooserPrivate, 1);
g_object_set_data_full (G_OBJECT (chooser), "private", priv, cc_input_chooser_private_free);
- g_object_set_data_full (G_OBJECT (chooser), "builder", builder, g_object_unref);
priv->is_login = is_login;
priv->xkb_info = xkb_info;
@@ -1179,6 +1178,8 @@ cc_input_chooser_new (GtkWindow *main_window,
gtk_window_set_transient_for (GTK_WINDOW (chooser), main_window);
+ g_object_unref (builder);
+
return chooser;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]