← Back to team overview

ayatana-commits team mailing list archive

[Merge] lp:~pitti/dbusmenu/fix-dbusmenu-dumper into lp:dbusmenu

 

Martin Pitt has proposed merging lp:~pitti/dbusmenu/fix-dbusmenu-dumper into lp:dbusmenu.

Requested reviews:
  DBus Menu Team (dbusmenu-team)

For more details, see:
https://code.launchpad.net/~pitti/dbusmenu/fix-dbusmenu-dumper/+merge/49992

This fixes tools/dbusmenu-dumper to actually work. A GDBus call needs a tuple GVariant for the arguments, not a single argument. Also, the return value is always a tuple; a gvariant is always just one object, i. e. "so" is not a valid signature, but "(so)" is.

Now it works fine for me.
-- 
https://code.launchpad.net/~pitti/dbusmenu/fix-dbusmenu-dumper/+merge/49992
Your team ayatana-commits is subscribed to branch lp:dbusmenu.
=== modified file 'tools/dbusmenu-dumper.c'
--- tools/dbusmenu-dumper.c	2011-01-13 15:53:15 +0000
+++ tools/dbusmenu-dumper.c	2011-02-16 16:03:15 +0000
@@ -270,10 +270,12 @@
 
 	error = NULL;
 	GVariant * retval;
+	GVariant * args[1];
+	args[0] = g_variant_new("u", window);
 
 	retval = g_dbus_proxy_call_sync(proxy,
 	                                "GetMenuForWindow",
-	                                g_variant_new("u", window),
+	                                g_variant_new_tuple(args, 1),
 	                                G_DBUS_CALL_FLAGS_NONE,
 	                                -1,
 	                                NULL,
@@ -285,7 +287,7 @@
 		return FALSE;
 	}
 
-	g_variant_get(retval, "so", &dbusname, &dbusobject);
+	g_variant_get(retval, "(so)", &dbusname, &dbusobject);
 
 	g_variant_unref(retval);
 	g_object_unref(proxy);


Follow ups