vala r1511 - in trunk: . gobject



Author: juergbi
Date: Sat May 31 09:26:58 2008
New Revision: 1511
URL: http://svn.gnome.org/viewvc/vala?rev=1511&view=rev

Log:
2008-05-31  JÃrg Billeter  <j bitron ch>

	* gobject/valaccodegenerator.vala:

	Fix delegates with array parameters, fixes bug 519928


Modified:
   trunk/ChangeLog
   trunk/gobject/valaccodegenerator.vala

Modified: trunk/gobject/valaccodegenerator.vala
==============================================================================
--- trunk/gobject/valaccodegenerator.vala	(original)
+++ trunk/gobject/valaccodegenerator.vala	Sat May 31 09:26:58 2008
@@ -438,6 +438,21 @@
 		var cfundecl = new CCodeFunctionDeclarator (d.get_cname ());
 		foreach (FormalParameter param in d.get_parameters ()) {
 			cfundecl.add_parameter ((CCodeFormalParameter) param.ccodenode);
+
+			// handle array parameters
+			if (!param.no_array_length && param.parameter_type is ArrayType) {
+				var array_type = (ArrayType) param.parameter_type;
+				
+				var length_ctype = "int";
+				if (param.direction != ParameterDirection.IN) {
+					length_ctype = "int*";
+				}
+				
+				for (int dim = 1; dim <= array_type.rank; dim++) {
+					var cparam = new CCodeFormalParameter (get_array_length_cname (param.name, dim), length_ctype);
+					cfundecl.add_parameter (cparam);
+				}
+			}
 		}
 		if (d.has_target) {
 			var cparam = new CCodeFormalParameter ("user_data", "void*");



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