From: Jürg Billeter Date: Sat, 9 Jan 2010 15:53:02 +0000 (+0100) Subject: Fix assignment to captured array variables X-Git-Tag: 0.7.10~108 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=148737ae45e321f1753e4a4a502f1f40c38f835c;p=thirdparty%2Fvala.git Fix assignment to captured array variables --- diff --git a/codegen/valaccodeassignmentmodule.vala b/codegen/valaccodeassignmentmodule.vala index 80be69cf8..c4bb12c7f 100644 --- a/codegen/valaccodeassignmentmodule.vala +++ b/codegen/valaccodeassignmentmodule.vala @@ -156,8 +156,9 @@ internal class Vala.CCodeAssignmentModule : CCodeMemberAccessModule { } if (array_type.rank == 1) { var array_var = assignment.left.symbol_reference; + var array_local = array_var as LocalVariable; if (array_var != null && array_var.is_internal_symbol () - && (array_var is LocalVariable || array_var is Field)) { + && ((array_var is LocalVariable && !array_local.captured) || array_var is Field)) { var lhs_array_size = head.get_array_size_cexpression (assignment.left); var rhs_array_len = head.get_array_length_cexpression (assignment.left, 1); ccomma.append_expression (new CCodeAssignment (lhs_array_size, rhs_array_len));