[vala] D-Bus: Fix signals with string array parameters in dynamic clients



commit df58c3a91261eaae3d7cadea02ed1ee437ede2a7
Author: Jürg Billeter <j bitron ch>
Date:   Thu Oct 22 22:05:16 2009 +0200

    D-Bus: Fix signals with string array parameters in dynamic clients
    
    Fixes bug 599071.

 codegen/valaccodedelegatemodule.vala |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/codegen/valaccodedelegatemodule.vala b/codegen/valaccodedelegatemodule.vala
index 4f656d7..e982550 100644
--- a/codegen/valaccodedelegatemodule.vala
+++ b/codegen/valaccodedelegatemodule.vala
@@ -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) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]