diff options
author | Jürg Billeter <j@bitron.ch> | 2011-01-08 16:49:46 +0100 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2011-01-08 16:49:46 +0100 |
commit | 6608153f85d671eca275a31fe01180c901d85be4 (patch) | |
tree | 946ec99ae31ecdeb5393b0c3a57e6c33e6dfc365 /codegen/valagobjectmodule.vala | |
parent | 2390d7519a482e442f6b98308f1b720381828b43 (diff) | |
download | vala-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.vala | 16 |
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; } |