From c07e4c1e5585a80815b5358ee76c5eb74b566abd Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Sat, 26 Apr 2008 20:33:19 +0000 Subject: [PATCH] Fix crash when using abstract properties 2008-04-26 Juerg Billeter * gobject/valaccodegenerator.vala: Fix crash when using abstract properties svn path=/trunk/; revision=1325 --- ChangeLog | 6 ++++++ gobject/valaccodegenerator.vala | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index a6aff41..dddb314 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2008-04-26 Jürg Billeter + * gobject/valaccodegenerator.vala: + + Fix crash when using abstract properties + +2008-04-26 Jürg Billeter + * compiler/valacompiler.vala: Build executable by default diff --git a/gobject/valaccodegenerator.vala b/gobject/valaccodegenerator.vala index bed640a..5072fc8 100644 --- a/gobject/valaccodegenerator.vala +++ b/gobject/valaccodegenerator.vala @@ -778,6 +778,9 @@ public class Vala.CCodeGenerator : CodeGenerator { this_type = new InterfaceInstanceType ((Interface) t); } var cselfparam = new CCodeFormalParameter ("self", this_type.get_cname ()); + var value_type = prop.type_reference.copy (); + value_type.takes_ownership = value_type.transfers_ownership; + var cvalueparam = new CCodeFormalParameter ("value", value_type.get_cname ()); if (prop.is_abstract || prop.is_virtual) { if (acc.readable) { @@ -787,7 +790,6 @@ public class Vala.CCodeGenerator : CodeGenerator { } function.add_parameter (cselfparam); if (acc.writable || acc.construction) { - var cvalueparam = new CCodeFormalParameter ("value", acc.value_parameter.type_reference.get_cname ()); function.add_parameter (cvalueparam); } @@ -882,7 +884,6 @@ public class Vala.CCodeGenerator : CodeGenerator { function.add_parameter (coutparam); } else { if (acc.writable || acc.construction) { - var cvalueparam = new CCodeFormalParameter ("value", acc.value_parameter.type_reference.get_cname ()); function.add_parameter (cvalueparam); } } -- 2.7.4