[vala] codegen: Fix type check of ref parameters



commit 3d4112da8c4359b6df9ad97a54878e8fe567c962
Author: Luca Bruno <lucabru src gnome org>
Date:   Fri Nov 11 21:29:54 2011 +0100

    codegen: Fix type check of ref parameters
    
    Fixes bug 663818.

 codegen/valaccodemethodmodule.vala |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala
index a5be334..982f5ce 100644
--- a/codegen/valaccodemethodmodule.vala
+++ b/codegen/valaccodemethodmodule.vala
@@ -443,7 +443,11 @@ public abstract class Vala.CCodeMethodModule : CCodeStructModule {
 					if (param.direction != ParameterDirection.OUT) {
 						var t = param.variable_type.data_type;
 						if (t != null && (t.is_reference_type () || param.variable_type.is_real_struct_type ())) {
-							create_method_type_check_statement (m, creturn_type, t, !param.variable_type.nullable, get_variable_cname (param.name));
+							var cname = get_variable_cname (param.name);
+							if (param.direction == ParameterDirection.REF && !param.variable_type.is_real_struct_type ()) {
+								cname = "*"+cname;
+							}
+							create_method_type_check_statement (m, creturn_type, t, !param.variable_type.nullable, cname);
 						}
 					} else if (!m.coroutine) {
 						// declare local variable for out parameter to allow assignment even when caller passes NULL



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