From: Luca Bruno Date: Wed, 4 May 2011 20:43:16 +0000 (+0200) Subject: codegen: Use destroy_value in emit_simple_assignment X-Git-Tag: 0.13.0~162 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f011528de07de32fbbdbfe82a187c8ac0706c2c;p=thirdparty%2Fvala.git codegen: Use destroy_value in emit_simple_assignment --- diff --git a/codegen/valaccodeassignmentmodule.vala b/codegen/valaccodeassignmentmodule.vala index 43b9dbaa3..9ff063568 100644 --- a/codegen/valaccodeassignmentmodule.vala +++ b/codegen/valaccodeassignmentmodule.vala @@ -62,7 +62,9 @@ public class Vala.CCodeAssignmentModule : CCodeMemberAccessModule { ccode.add_assignment (get_variable_cexpression (temp_decl.name), rhs); if (unref_old) { /* unref old value */ - ccode.add_expression (get_unref_expression (lhs, assignment.left.value_type, assignment.left)); + var value = ((GLibValue) assignment.left.target_value).copy (); + value.cvalue = lhs; + ccode.add_expression (destroy_value (value)); } if (array && !variable.no_array_length && !variable.array_null_terminated) {