vala r1167 - in trunk: . gobject



Author: juergbi
Date: Sun Apr  6 20:24:58 2008
New Revision: 1167
URL: http://svn.gnome.org/viewvc/vala?rev=1167&view=rev

Log:
2008-04-06  Juerg Billeter  <j bitron ch>

	* gobject/valaccodegeneratorinvocationexpression.vala: fix crash
	  when using string arrays in parameters of D-Bus methods,
	  fixes bug 525166


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

Modified: trunk/gobject/valaccodegeneratorinvocationexpression.vala
==============================================================================
--- trunk/gobject/valaccodegeneratorinvocationexpression.vala	(original)
+++ trunk/gobject/valaccodegeneratorinvocationexpression.vala	Sun Apr  6 20:24:58 2008
@@ -174,14 +174,16 @@
 						var cdecl = new CCodeDeclaration (param.type_reference.get_cname ());
 						cdecl.add_declarator (new CCodeVariableDeclarator (param.name));
 						cb_fun.block.add_statement (cdecl);
-						cend_call.add_argument (new CCodeIdentifier (param.type_reference.data_type.get_type_id ()));
-						cend_call.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier (param.name)));
 						if (param.type_reference is ArrayType && ((ArrayType) param.type_reference).element_type.data_type == string_type.data_type) {
 							// special case string array
+							cend_call.add_argument (new CCodeIdentifier ("G_TYPE_STRV"));
 							var cstrvlen = new CCodeFunctionCall (new CCodeIdentifier ("g_strv_length"));
 							cstrvlen.add_argument (new CCodeIdentifier (param.name));
 							creply_call.add_argument (cstrvlen);
+						} else {
+							cend_call.add_argument (new CCodeIdentifier (param.type_reference.data_type.get_type_id ()));
 						}
+						cend_call.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier (param.name)));
 						creply_call.add_argument (new CCodeIdentifier (param.name));
 					}
 				}



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