summaryrefslogtreecommitdiff
path: root/codegen/valagobjectmodule.vala
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2011-01-08 16:49:46 +0100
committerJürg Billeter <j@bitron.ch>2011-01-08 16:49:46 +0100
commit6608153f85d671eca275a31fe01180c901d85be4 (patch)
tree946ec99ae31ecdeb5393b0c3a57e6c33e6dfc365 /codegen/valagobjectmodule.vala
parent2390d7519a482e442f6b98308f1b720381828b43 (diff)
downloadvala-6608153f85d671eca275a31fe01180c901d85be4.tar.gz
Do not install GObject properties for D-Bus interfaces
They were never properly implemented in the proxy classes. Latest GLib release prints critical warnings due to the missing implementation.
Diffstat (limited to 'codegen/valagobjectmodule.vala')
-rw-r--r--codegen/valagobjectmodule.vala16
1 files changed, 9 insertions, 7 deletions
diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala
index 2eadee533..2159941b9 100644
--- a/codegen/valagobjectmodule.vala
+++ b/codegen/valagobjectmodule.vala
@@ -1,6 +1,6 @@
/* valagobjectmodule.vala
*
- * Copyright (C) 2006-2010 Jürg Billeter
+ * Copyright (C) 2006-2011 Jürg Billeter
* Copyright (C) 2006-2008 Raffaele Sandrini
*
* This library is free software; you can redistribute it and/or
@@ -720,12 +720,9 @@ public class Vala.GObjectModule : GTypeModule {
return false;
}
- if (prop.base_interface_property != null) {
- var iface = (Interface) prop.base_interface_property.parent_symbol;
- if (!iface.is_subtype_of (gobject_type)) {
- // implementing non-GObject property
- return false;
- }
+ if (type_sym is Class && prop.base_interface_property != null &&
+ !is_gobject_property (prop.base_interface_property)) {
+ return false;
}
if (!prop.name[0].isalpha ()) {
@@ -733,6 +730,11 @@ public class Vala.GObjectModule : GTypeModule {
return false;
}
+ if (type_sym is Interface && type_sym.get_attribute ("DBus") != null) {
+ // GObject properties not currently supported in D-Bus interfaces
+ return false;
+ }
+
return true;
}