]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Use destroy_value in emit_simple_assignment
authorLuca Bruno <lucabru@src.gnome.org>
Wed, 4 May 2011 20:43:16 +0000 (22:43 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Wed, 4 May 2011 20:43:16 +0000 (22:43 +0200)
codegen/valaccodeassignmentmodule.vala

index 43b9dbaa393a5f0cab3dfd6e14549d2a762544a8..9ff063568ba9376e2d532de17dd7a7ee95dc2cf8 100644 (file)
@@ -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) {