From 6ae7686989b39d6aca46319332c147e5fa1758a0 Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Mon, 21 Apr 2008 19:13:51 +0000 Subject: [PATCH] fix struct instance methods, fixes bug 529183 2008-04-21 Juerg Billeter * gobject/valaccodeinvocationexpressionbinding.vala: fix struct instance methods, fixes bug 529183 svn path=/trunk/; revision=1292 --- ChangeLog | 5 +++++ gobject/valaccodeinvocationexpressionbinding.vala | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8a690bf..87fd851 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2008-04-21 Jürg Billeter + * gobject/valaccodeinvocationexpressionbinding.vala: fix struct + instance methods, fixes bug 529183 + +2008-04-21 Jürg Billeter + * vala/valasemanticanalyzer.vala: allow assigning construct-only properties in constructors, fixes bug 529222 diff --git a/gobject/valaccodeinvocationexpressionbinding.vala b/gobject/valaccodeinvocationexpressionbinding.vala index 8da52f3..d70e29d 100644 --- a/gobject/valaccodeinvocationexpressionbinding.vala +++ b/gobject/valaccodeinvocationexpressionbinding.vala @@ -90,8 +90,10 @@ public class Vala.CCodeInvocationExpressionBinding : CCodeExpressionBinding { instance_expression_type = ma.inner.static_type; } - if (instance_expression_type.data_type is Struct && !((Struct) instance_expression_type.data_type).is_simple_type () && instance_expression_type.data_type != codegen.current_type_symbol) { - if (instance is CCodeIdentifier) { + if (instance_expression_type.data_type is Struct + && !((Struct) instance_expression_type.data_type).is_simple_type () + && instance_expression_type.data_type != codegen.current_type_symbol) { + if (instance is CCodeIdentifier || instance is CCodeMemberAccess) { instance = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, instance); } else { // if instance is e.g. a function call, we can't take the address of the expression -- 2.7.4