[vala/0.10] Do not install GObject properties for D-Bus interfaces
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/0.10] Do not install GObject properties for D-Bus interfaces
- Date: Sat, 22 Jan 2011 10:13:13 +0000 (UTC)
commit d570508443f81ab040ccc02899f227d0aab61cbf
Author: Jürg Billeter <j bitron ch>
Date: Sat Jan 8 16:49:46 2011 +0100
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.
codegen/valagobjectmodule.vala | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
---
diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala
index 2d36329..8bdb74e 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
@@ -763,12 +763,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 ()) {
@@ -776,6 +773,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;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]