[gtk+] GtkMenuTracker: fix leak when creating submenus



commit d498e9b588fd59aabc82eea8e87962435b0fe191
Author: Ryan Lortie <desrt desrt ca>
Date:   Mon Jun 24 17:59:02 2013 -0400

    GtkMenuTracker: fix leak when creating submenus

 gtk/gtkmenutracker.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkmenutracker.c b/gtk/gtkmenutracker.c
index ab369ab..c9e8459 100644
--- a/gtk/gtkmenutracker.c
+++ b/gtk/gtkmenutracker.c
@@ -473,11 +473,20 @@ gtk_menu_tracker_new_for_item_submenu (GtkMenuTrackerItem       *item,
                                        GtkMenuTrackerRemoveFunc  remove_func,
                                        gpointer                  user_data)
 {
-  return gtk_menu_tracker_new (_gtk_menu_tracker_item_get_observable (item),
-                               _gtk_menu_tracker_item_get_submenu (item),
-                               TRUE,
-                               _gtk_menu_tracker_item_get_submenu_namespace (item),
-                               insert_func, remove_func, user_data);
+  GtkMenuTracker *tracker;
+  GMenuModel *submenu;
+  gchar *namespace;
+
+  submenu = _gtk_menu_tracker_item_get_submenu (item);
+  namespace = _gtk_menu_tracker_item_get_submenu_namespace (item);
+
+  tracker = gtk_menu_tracker_new (_gtk_menu_tracker_item_get_observable (item), submenu,
+                                  TRUE, namespace, insert_func, remove_func, user_data);
+
+  g_object_unref (submenu);
+  g_free (namespace);
+
+  return tracker;
 }
 
 /*< private >


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]