gdbus: Fix incorrectly discarded signals
authorMikel Astiz <mikel.astiz@bmw-carit.de>
Tue, 22 May 2012 14:58:18 +0000 (16:58 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 30 Jun 2012 08:44:26 +0000 (10:44 +0200)
Signals with no arguments were incorrectly filtered out due to the NULL
inequality check.

gdbus/object.c

index dacbe58..08cc183 100644 (file)
@@ -617,16 +617,12 @@ static gboolean check_signal(DBusConnection *conn, const char *path,
        for (signal = iface->signals; signal && signal->name; signal++) {
                if (!strcmp(signal->name, name)) {
                        *args = signal->args;
-                       break;
+                       return TRUE;
                }
        }
 
-       if (*args == NULL) {
-               error("No signal named %s on interface %s", name, interface);
-               return FALSE;
-       }
-
-       return TRUE;
+       error("No signal named %s on interface %s", name, interface);
+       return FALSE;
 }
 
 static dbus_bool_t emit_signal_valist(DBusConnection *conn,