[vala] Fix generated code when mixing closures and simple lambda expressions



commit f42d709c4f1fe0abc57a1d7802eae804507c8483
Author: Jürg Billeter <j bitron ch>
Date:   Tue Apr 27 10:33:32 2010 +0200

    Fix generated code when mixing closures and simple lambda expressions
    
    Fixes bug 615444.

 codegen/valaccodedelegatemodule.vala |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/codegen/valaccodedelegatemodule.vala b/codegen/valaccodedelegatemodule.vala
index 9a0c544..b04ceee 100644
--- a/codegen/valaccodedelegatemodule.vala
+++ b/codegen/valaccodedelegatemodule.vala
@@ -157,9 +157,9 @@ public class Vala.CCodeDelegateModule : CCodeArrayModule {
 			}
 			return invocation_expr.delegate_target;
 		} else if (delegate_expr is LambdaExpression) {
-			var closure_block = current_closure_block;
-			if (closure_block != null) {
-				int block_id = get_block_id (closure_block);
+			var lambda = (LambdaExpression) delegate_expr;
+			if (lambda.method.closure) {
+				int block_id = get_block_id (current_closure_block);
 				var delegate_target = get_variable_cexpression ("_data%d_".printf (block_id));
 				if (expr_owned) {
 					var ref_call = new CCodeFunctionCall (new CCodeIdentifier ("block%d_data_ref".printf (block_id)));



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