[gtk+] GtkMenuSectionBox: don't leak
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkMenuSectionBox: don't leak
- Date: Tue, 29 Apr 2014 14:18:56 +0000 (UTC)
commit effc7514e79c5be31328f18a74b8d97a9ed20a4d
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Apr 29 10:18:22 2014 -0400
GtkMenuSectionBox: don't leak
This wasn't fully fleshed out yet.
gtk/gtkmenusectionbox.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkmenusectionbox.c b/gtk/gtkmenusectionbox.c
index 76640f9..8891f59 100644
--- a/gtk/gtkmenusectionbox.c
+++ b/gtk/gtkmenusectionbox.c
@@ -293,6 +293,24 @@ gtk_menu_section_box_dispose (GObject *object)
box->separator_sync_idle = 0;
}
+ if (box->separator)
+ {
+ gtk_widget_destroy (box->separator);
+ box->separator = NULL;
+ }
+
+ if (box->size_group)
+ {
+ g_object_unref (box->size_group);
+ box->size_group = NULL;
+ }
+
+ if (box->tracker)
+ {
+ gtk_menu_tracker_free (box->tracker);
+ box->tracker = NULL;
+ }
+
G_OBJECT_CLASS (gtk_menu_section_box_parent_class)->dispose (object);
}
@@ -416,6 +434,8 @@ gtk_menu_section_box_new_section (GtkMenuTrackerItem *item,
gtk_widget_show (box->separator);
}
+ g_object_add_weak_pointer (G_OBJECT (box->separator), (gpointer *)&(box->separator));
+
box->tracker = gtk_menu_tracker_new_for_item_link (item, G_MENU_LINK_SECTION, FALSE,
gtk_menu_section_box_insert_func,
gtk_menu_section_box_remove_func,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]