From 5e2f6fbc0f432a194c6057a8700a3281e9b482f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrg=20Billeter?= Date: Thu, 1 Apr 2010 10:45:33 +0200 Subject: [PATCH] Fix construct properties in interfaces --- codegen/valagobjectmodule.vala | 8 ++++---- codegen/valagtypemodule.vala | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) 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; } -- 2.47.2