[gtksourceview] Completion: fix ref/unref of info window's label
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] Completion: fix ref/unref of info window's label
- Date: Mon, 17 Sep 2012 20:19:32 +0000 (UTC)
commit 27320a8b4c224e7280c1ba649d05ced88e12af93
Author: SÃbastien Wilmet <swilmet src gnome org>
Date: Mon Jul 2 19:34:56 2012 +0200
Completion: fix ref/unref of info window's label
There was a memory leak, since the 'default_info' could only be reffed.
Also, it is safer to directly ref the widget, so we are sure that any
call to gtk_source_completion_info_set_widget() doesn't remove the last
reference.
https://bugzilla.gnome.org/show_bug.cgi?id=679271
gtksourceview/gtksourcecompletion.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
---
diff --git a/gtksourceview/gtksourcecompletion.c b/gtksourceview/gtksourcecompletion.c
index 70e042d..d777a33 100644
--- a/gtksourceview/gtksourcecompletion.c
+++ b/gtksourceview/gtksourcecompletion.c
@@ -967,12 +967,6 @@ update_proposal_info_real (GtkSourceCompletion *completion,
}
else
{
- /* we need to ref the default info widget before removing it */
- if (gtk_source_completion_info_get_widget (info_window) == completion->priv->default_info)
- {
- g_object_ref (completion->priv->default_info);
- }
-
prov_update_info = TRUE;
}
}
@@ -1949,6 +1943,8 @@ gtk_source_completion_finalize (GObject *object)
g_list_free (completion->priv->providers);
g_list_free (completion->priv->active_providers);
+ g_clear_object (&completion->priv->default_info);
+
G_OBJECT_CLASS (gtk_source_completion_parent_class)->finalize (object);
}
@@ -3090,6 +3086,7 @@ initialize_ui (GtkSourceCompletion *completion)
/* Default info widget */
completion->priv->default_info = gtk_label_new (NULL);
+ g_object_ref_sink (completion->priv->default_info);
gtk_misc_set_alignment (GTK_MISC (completion->priv->default_info), 0.5, 0.5);
gtk_label_set_selectable (GTK_LABEL (completion->priv->default_info), TRUE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]