[vala/staging] method: Check with same rules for dbus compatibility as in GBusModule



commit 635212b1a45276a0941814fbc2cdecc08d6f5b4e
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Mon Feb 26 21:10:37 2018 +0100

    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

 vala/valamethod.vala |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/vala/valamethod.vala b/vala/valamethod.vala
index 133bca5..88adf51 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 (!(m is CreationMethod) && m.binding == MemberBinding.INSTANCE
+                   && !m.overrides && m.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;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]