vala r1310 - in trunk: . gobject



Author: juergbi
Date: Wed Apr 23 20:24:24 2008
New Revision: 1310
URL: http://svn.gnome.org/viewvc/vala?rev=1310&view=rev

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

	* gobject/valaccodeinvocationexpressionbinding.vala:
	Don't cast out arguments


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

Modified: trunk/gobject/valaccodeinvocationexpressionbinding.vala
==============================================================================
--- trunk/gobject/valaccodeinvocationexpressionbinding.vala	(original)
+++ trunk/gobject/valaccodeinvocationexpressionbinding.vala	Wed Apr 23 20:24:24 2008
@@ -193,7 +193,10 @@
 						carg_map.set (codegen.get_param_pos (param.cdelegate_target_parameter_position), codegen.get_delegate_target_cexpression (arg));
 						multiple_cargs = true;
 					}
-					cexpr = codegen.get_implicit_cast_expression (cexpr, arg.static_type, param.type_reference);
+					if (param.direction == ParameterDirection.IN) {
+						// don't cast arguments passed by reference
+						cexpr = codegen.get_implicit_cast_expression (cexpr, arg.static_type, param.type_reference);
+					}
 
 					// pass non-simple struct instances always by reference
 					if (!(arg.static_type is NullType) && param.type_reference.data_type is Struct && !((Struct) param.type_reference.data_type).is_simple_type ()) {



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