From: Rico Tzschichholz Date: Mon, 26 Feb 2018 20:10:37 +0000 (+0100) Subject: method: Check with same rules for dbus compatibility as in GBusModule X-Git-Tag: 0.39.92~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c8c079de9b26b84464a0773c89eb44eded77029;p=thirdparty%2Fvala.git method: Check with same rules for dbus compatibility as in GBusModule Only issue warning if the method would actually be end up on DBus as per generate_interface_method_call_function() or get_method_info(). Based on patch by Corentin Noël https://bugzilla.gnome.org/show_bug.cgi?id=793859 --- diff --git a/vala/valamethod.vala b/vala/valamethod.vala index 133bca52e..a2bd57c45 100644 --- a/vala/valamethod.vala +++ b/vala/valamethod.vala @@ -857,7 +857,9 @@ public class Vala.Method : Subroutine, Callable { } // check that DBus methods at least throw "GLib.Error" or "GLib.DBusError, GLib.IOError" - if (parent_symbol is ObjectTypeSymbol && parent_symbol.get_attribute ("DBus") != null) { + if (!(this is CreationMethod) && binding == MemberBinding.INSTANCE + && !overrides && access == SymbolAccessibility.PUBLIC + && parent_symbol is ObjectTypeSymbol && parent_symbol.get_attribute ("DBus") != null) { Attribute? dbus_attr = get_attribute ("DBus"); if (dbus_attr == null || dbus_attr.get_bool ("visible", true)) { bool throws_gerror = false;