aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libdbusmenu-gtk/parser.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libdbusmenu-gtk/parser.c b/libdbusmenu-gtk/parser.c
index cfce42a..52bd8a8 100644
--- a/libdbusmenu-gtk/parser.c
+++ b/libdbusmenu-gtk/parser.c
@@ -88,7 +88,9 @@ dbusmenu_gtk_parse_menu_structure (GtkWidget * widget)
static void
dbusmenu_cache_freed (gpointer data, GObject * obj)
{
- g_object_set_data(G_OBJECT(data), CACHED_MENUITEM, NULL);
+ /* If the dbusmenu item is killed we don't need to remove
+ the weak ref as well. */
+ g_object_steal_data(G_OBJECT(data), CACHED_MENUITEM);
return;
}