aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog7
-rw-r--r--libdbusmenu-glib/server.c8
2 files changed, 12 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index 7dfc3d4..a322f0a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+libdbusmenu (0.5.99-0ubuntu2) UNRELEASED; urgency=low
+
+ * libdbusmenu-glib/server.c
+ - Cherry picked a fix for a regression in about-to-show grouping
+
+ -- Ken VanDine <ken.vandine@canonical.com> Mon, 09 Apr 2012 12:29:12 -0400
+
libdbusmenu (0.5.99-0ubuntu1) precise; urgency=low
* New upstream release.
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;
}