diff options
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkmenutracker.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gtk/gtkmenutracker.c b/gtk/gtkmenutracker.c index ab369ab02f..c9e8459cc8 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 > |