aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libdbusmenu-glib/server.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c
index 091b243..ebe0082 100644
--- a/libdbusmenu-glib/server.c
+++ b/libdbusmenu-glib/server.c
@@ -1831,12 +1831,13 @@ 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;
- 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));
@@ -1872,6 +1873,7 @@ bus_about_to_show_group (DbusmenuServer * server, GVariant * params, GDBusMethod
}
g_variant_unref(errors);
+ g_variant_unref(items);
return;
}