From: Jürg Billeter Date: Sat, 8 Jan 2011 15:49:46 +0000 (+0100) Subject: Do not install GObject properties for D-Bus interfaces X-Git-Tag: 0.10.3~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d570508443f81ab040ccc02899f227d0aab61cbf;p=thirdparty%2Fvala.git 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. --- diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala index 2d36329a1..8bdb74e0a 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; }