[vala] Fix construct properties in interfaces



commit 5e2f6fbc0f432a194c6057a8700a3281e9b482f0
Author: Jürg Billeter <j bitron ch>
Date:   Thu Apr 1 10:45:33 2010 +0200

    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 0894b03..e1c6213 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 90d2d72..fe1c8af 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;
 					}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]