]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
D-Bus: Fix signals with string array parameters in dynamic clients df58c3a91261eaae3d7cadea02ed1ee437ede2a7
authorJürg Billeter <j@bitron.ch>
Thu, 22 Oct 2009 20:05:16 +0000 (22:05 +0200)
committerJürg Billeter <j@bitron.ch>
Thu, 22 Oct 2009 20:05:16 +0000 (22:05 +0200)
Fixes bug 599071.

codegen/valaccodedelegatemodule.vala

index 4f656d75f64a31358fb3a668b55a3b810127c06b..e982550432e32101c6b739b176188929dc2c964e 100644 (file)
@@ -368,6 +368,14 @@ internal class Vala.CCodeDelegateModule : CCodeArrayModule {
 
                var d_params = d.get_parameters ();
                foreach (FormalParameter param in d_params) {
+                       if (dynamic_sig != null
+                           && param.parameter_type is ArrayType
+                           && ((ArrayType) param.parameter_type).element_type.data_type == string_type.data_type) {
+                               // use null-terminated string arrays for dynamic signals for compatibility reasons
+                               param.no_array_length = true;
+                               param.array_null_terminated = true;
+                       }
+
                        generate_parameter (param, source_declarations, cparam_map, null);
                }
                if (!d.no_array_length && d.return_type is ArrayType) {