From: Jürg Billeter Date: Thu, 1 Apr 2010 08:45:33 +0000 (+0200) Subject: Fix construct properties in interfaces X-Git-Tag: 0.8.1~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e2f6fbc0f432a194c6057a8700a3281e9b482f0;p=thirdparty%2Fvala.git Fix construct properties in interfaces --- diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala index 0894b03c1..e1c6213b3 100644 --- a/codegen/valagobjectmodule.vala +++ b/codegen/valagobjectmodule.vala @@ -1,6 +1,6 @@ /* valagobjectmodule.vala * - * Copyright (C) 2006-2009 Jürg Billeter + * Copyright (C) 2006-2010 Jürg Billeter * Copyright (C) 2006-2008 Raffaele Sandrini * * This library is free software; you can redistribute it and/or @@ -730,14 +730,14 @@ internal class Vala.GObjectModule : GTypeModule { public override void visit_property (Property prop) { base.visit_property (prop); - if (is_gobject_property (prop)) { + if (is_gobject_property (prop) && prop.parent_symbol is Class) { prop_enum.add_value (new CCodeEnumValue (prop.get_upper_case_cname ())); } } public override bool is_gobject_property (Property prop) { - var cl = prop.parent_symbol as Class; - if (cl == null || !cl.is_subtype_of (gobject_type)) { + var type_sym = prop.parent_symbol as ObjectTypeSymbol; + if (type_sym == null || !type_sym.is_subtype_of (gobject_type)) { return false; } diff --git a/codegen/valagtypemodule.vala b/codegen/valagtypemodule.vala index 90d2d7201..fe1c8af75 100644 --- a/codegen/valagtypemodule.vala +++ b/codegen/valagtypemodule.vala @@ -1963,8 +1963,7 @@ internal class Vala.GTypeModule : GErrorModule { var props = iface.get_properties (); foreach (Property prop in props) { if (prop.is_abstract) { - - if (prop.property_type is ArrayType) { + if (!is_gobject_property (prop)) { continue; }