=== modified file 'gobject/valadbusservermodule.vala'
--- gobject/valadbusservermodule.vala	2008-12-13 21:53:53 +0000
+++ gobject/valadbusservermodule.vala	2008-12-13 23:34:56 +0000
@@ -227,6 +227,9 @@
 
 		foreach (var param in sig.get_parameters ()) {
 			function.add_parameter ((CCodeFormalParameter) get_ccodenode (param));
+			if (param.parameter_type is ArrayType) {
+				function.add_parameter (new CCodeFormalParameter (head.get_array_length_cname (param.name, 1), "int"));
+			}
 		}
 
 		function.add_parameter (new CCodeFormalParameter ("_connection", "DBusConnection*"));

=== modified file 'gobject/valagsignalmodule.vala'
--- gobject/valagsignalmodule.vala	2008-12-09 20:34:11 +0000
+++ gobject/valagsignalmodule.vala	2008-12-13 22:40:37 +0000
@@ -382,11 +382,7 @@
 
 		csignew.add_argument (new CCodeConstant ("%d".printf (params_len)));
 		foreach (FormalParameter param in params) {
-			if (type.get_attribute ("DBus") != null) {
-				// workaround for dbus-glib based D-Bus servers
-				// drop when bug 560034 has been fixed
-				csignew.add_argument (get_dbus_g_type (param.parameter_type));
-			} else if (param.parameter_type.is_array ()) {
+			if (param.parameter_type.is_array ()) {
 				if (((ArrayType) param.parameter_type).element_type.data_type == string_type.data_type) {
 					csignew.add_argument (new CCodeConstant ("G_TYPE_STRV"));
 				} else {

