]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Transfer ownership of owned value parameter in set accessor
authorLuca Bruno <lucabru@src.gnome.org>
Thu, 9 Jun 2011 11:32:04 +0000 (13:32 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Thu, 9 Jun 2011 11:32:04 +0000 (13:32 +0200)
vala/valapropertyaccessor.vala

index fbec601cc41349b05e02b68aa3005465d2d1fd04..dc4a8b3d305f30f7eb9de0faa43451d5714bd3c8 100644 (file)
@@ -187,7 +187,11 @@ public class Vala.PropertyAccessor : Subroutine {
                                                body.add_statement (new ReturnStatement (ma, source_reference));
                                        }
                                } else {
-                                       var assignment = new Assignment (ma, new MemberAccess.simple ("value", source_reference), AssignmentOperator.SIMPLE, source_reference);
+                                       Expression value = new MemberAccess.simple ("value", source_reference);
+                                       if (value_type.value_owned) {
+                                               value = new ReferenceTransferExpression (value, source_reference);
+                                       }
+                                       var assignment = new Assignment (ma, value, AssignmentOperator.SIMPLE, source_reference);
                                        body.add_statement (new ExpressionStatement (assignment));
                                }
                        }