From 29097ccb25899f33f62a65a85ffdbd9250945e00 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 9 Apr 2012 10:08:06 -0500 Subject: Pull the items out of the tuple --- libdbusmenu-glib/server.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libdbusmenu-glib') diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c index 091b243..9e5b714 100644 --- a/libdbusmenu-glib/server.c +++ b/libdbusmenu-glib/server.c @@ -1831,8 +1831,9 @@ bus_about_to_show_group (DbusmenuServer * server, GVariant * params, GDBusMethod gint32 id; GVariantIter iter; GVariantBuilder builder; - - g_variant_iter_init(&iter, params); + + GVariant * items = g_variant_get_child_value(params, 0); + g_variant_iter_init(&iter, items); g_variant_builder_init(&builder, G_VARIANT_TYPE("ai")); gboolean gotone = FALSE; @@ -1872,6 +1873,7 @@ bus_about_to_show_group (DbusmenuServer * server, GVariant * params, GDBusMethod } g_variant_unref(errors); + g_variant_unref(items); return; } -- cgit v1.2.3 From fcbbfff1269c3a923358c31587319239d183508a Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Mon, 9 Apr 2012 10:09:41 -0500 Subject: Apparently this type is wrong, if only this language supported some way to communicate to programmers the types that variables were. Oh, we can dream. --- libdbusmenu-glib/server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libdbusmenu-glib') diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c index 9e5b714..ebe0082 100644 --- a/libdbusmenu-glib/server.c +++ b/libdbusmenu-glib/server.c @@ -1837,7 +1837,7 @@ bus_about_to_show_group (DbusmenuServer * server, GVariant * params, GDBusMethod g_variant_builder_init(&builder, G_VARIANT_TYPE("ai")); gboolean gotone = FALSE; - while (g_variant_iter_loop(&iter, "(i)", &id)) { + while (g_variant_iter_loop(&iter, "i", &id)) { DbusmenuMenuitem * mi = lookup_menuitem_by_id(server, id); if (mi != NULL) { g_timeout_add(0, bus_about_to_show_idle, g_object_ref(mi)); -- cgit v1.2.3 From 514253caa8b99331f11bf91b15fffe0fe44f5e0c Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 10 Apr 2012 17:54:52 -0500 Subject: In menuitem_signals_remove(), disconnect the DBUSMENU_MENUITEM_SIGNAL_SHOW_TO_USER event that we connected to in menuitem_signals_create(). It looks like this non-disconnected signal goes all the way back to July 2010 so I'd like ted's eyes on this to confirm there's not some nuance that I'm missing... --- libdbusmenu-glib/server.c | 1 + 1 file changed, 1 insertion(+) (limited to 'libdbusmenu-glib') diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c index ebe0082..9e5ef0c 100644 --- a/libdbusmenu-glib/server.c +++ b/libdbusmenu-glib/server.c @@ -1288,6 +1288,7 @@ menuitem_signals_remove (DbusmenuMenuitem * mi, gpointer data) g_signal_handlers_disconnect_by_func(G_OBJECT(mi), G_CALLBACK(menuitem_child_removed), data); g_signal_handlers_disconnect_by_func(G_OBJECT(mi), G_CALLBACK(menuitem_child_moved), data); g_signal_handlers_disconnect_by_func(G_OBJECT(mi), G_CALLBACK(menuitem_property_changed), data); + g_signal_handlers_disconnect_by_func(G_OBJECT(mi), G_CALLBACK(menuitem_shown), data); return; } -- cgit v1.2.3