diff options
author | Ted Gould <ted@gould.cx> | 2010-11-18 09:22:24 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-11-18 09:22:24 -0600 |
commit | acf4557c9c5b7d87c5b7b0f1df2b535a6dd11671 (patch) | |
tree | f600c3415a722ecd1222d850380a14dfd61a31b2 | |
parent | 72da1b32a6a834de66496fbaa6f3c57cac4d4d7a (diff) | |
download | libdbusmenu-acf4557c9c5b7d87c5b7b0f1df2b535a6dd11671.tar.gz libdbusmenu-acf4557c9c5b7d87c5b7b0f1df2b535a6dd11671.tar.bz2 libdbusmenu-acf4557c9c5b7d87c5b7b0f1df2b535a6dd11671.zip |
Wow, I've learned a lot about better ways to do this :)
-rw-r--r-- | libdbusmenu-glib/server.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c index 8d5c558..fd507a2 100644 --- a/libdbusmenu-glib/server.c +++ b/libdbusmenu-glib/server.c @@ -852,21 +852,21 @@ static void bus_get_group_properties (DbusmenuServer * server, GVariant * params, GDBusMethodInvocation * invocation) { DbusmenuServerPrivate * priv = DBUSMENU_SERVER_GET_PRIVATE(server); - GVariantIter * ids = NULL; - g_variant_get_child(params, 0, "ai", &ids); + GVariantIter ids; + g_variant_iter_init(&ids, params); - GVariantBuilder * builder = g_variant_builder_new(G_VARIANT_TYPE("a(ia{sv})")); + GVariantBuilder builder; + g_variant_builder_init(&builder, G_VARIANT_TYPE("a(ia{sv})")); - GVariant * id; - while ((id = g_variant_iter_next_value(ids)) != NULL) { - DbusmenuMenuitem * mi = dbusmenu_menuitem_find_id(priv->root, g_variant_get_int32(id)); + guint id; + while (g_variant_iter_next(&ids, "i", &id)) { + DbusmenuMenuitem * mi = dbusmenu_menuitem_find_id(priv->root, id); if (mi == NULL) continue; - g_variant_builder_add(builder, "ia{sv}", g_variant_get_int32(id), dbusmenu_menuitem_properties_variant(mi)); + g_variant_builder_add(&builder, "ia{sv}", id, dbusmenu_menuitem_properties_variant(mi)); } - GVariant * ret = g_variant_builder_end(builder); - g_variant_builder_unref(builder); + GVariant * ret = g_variant_builder_end(&builder); g_dbus_method_invocation_return_value(invocation, ret); |