@@ -240,19 +240,18 @@ QVariant RootActionState::toQVariant(GVariant* state) const
241 QStringList icons;
241 QStringList icons;
243− if (g_variant_type_is_array(g_variant_get_type(vvalue))) {
243+ if (g_variant_is_of_type(vvalue, G_VARIANT_TYPE("av"))) {
244−
244+ GVariantIter iter;
245−
245+ GVariant *val = 0;
246− for (int i = 0, iMax = g_variant_n_children(vvalue); i < iMax; i++) {
246+ g_variant_iter_init (&iter, vvalue);
247− GVariant *child = g_variant_get_child_value(vvalue, i);
247+ while (g_variant_iter_loop (&iter, "v", &val))
249 // FIXME - should be sending a url.
249 // FIXME - should be sending a url.
250− GIcon *gicon = g_icon_deserialize (child);
250+ GIcon *gicon = g_icon_deserialize (val);
251 if (gicon) {
251 if (gicon) {
252 icons << iconUri(gicon);
252 icons << iconUri(gicon);
253 g_object_unref (gicon);
253 g_object_unref (gicon);
255− g_variant_unref(child);
258 // will overwrite icon.
257 // will overwrite icon.