From 45a154a22b63d3b07c2d2dd1304992c0a5b996f1 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sun, 10 Apr 2011 22:34:34 -0500 Subject: Attaching the data in a way that it'll cleanup itself --- libdbusmenu-gtk/client.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libdbusmenu-gtk/client.c') diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c index 4479645..aabdbc8 100644 --- a/libdbusmenu-gtk/client.c +++ b/libdbusmenu-gtk/client.c @@ -571,7 +571,8 @@ process_submenu (DbusmenuMenuitem * mi, GtkMenuItem * gmi, GVariant * variant, D } else { /* We need to build a menu for these guys to live in. */ GtkMenu * menu = GTK_MENU(gtk_menu_new()); - g_object_set_data(G_OBJECT(mi), data_menu, menu); + g_object_ref_sink(menu); + g_object_set_data_full(G_OBJECT(mi), data_menu, menu, g_object_unref); gtk_menu_item_set_submenu(gmi, GTK_WIDGET(menu)); @@ -782,7 +783,7 @@ delete_child (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, DbusmenuGtkClient if (menu != NULL) { gtk_widget_destroy(GTK_WIDGET(menu)); - g_object_set_data(G_OBJECT(mi), data_menu, NULL); + g_object_steal_data(G_OBJECT(mi), data_menu); } } -- cgit v1.2.3