From: Luca Bruno Date: Fri, 19 Sep 2014 12:43:45 +0000 (+0200) Subject: Revert "Fix regression when assigning owned expressions to unowned variables." X-Git-Tag: 0.26.0~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c08dd2c82dcfe42f2f6fb23333eadf63ed2d7f22;p=thirdparty%2Fvala.git Revert "Fix regression when assigning owned expressions to unowned variables." This reverts commit ba1fa0759989dcbb9046c7dfc06cce6c4aa23411. Due to bug #736774 --- diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index 20600d3e4..cb1a575f5 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -892,7 +892,8 @@ public class Vala.SemanticAnalyzer : CodeVisitor { public static Expression create_temp_access (LocalVariable local, DataType? target_type) { Expression temp_access = new MemberAccess.simple (local.name, local.source_reference); - if (local.variable_type.is_disposable ()) { + var target_owned = target_type == null || target_type.value_owned; + if (target_owned && local.variable_type.is_disposable ()) { temp_access = new ReferenceTransferExpression (temp_access, local.source_reference); temp_access.target_type = target_type != null ? target_type.copy () : local.variable_type.copy (); temp_access.target_type.value_owned = true;