diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2016-05-31 11:57:53 -0300 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2016-08-09 02:41:22 +0000 |
commit | 6f275a4beb9a42b9d5ac99682ce9939a66239778 (patch) | |
tree | ea39e71a200d83d54cb358d744bacd2f4cd40703 /src/dbus/qdbusconnection_p.h | |
parent | e24f89f266cee6e2473af6f66bd78f2df3a51c83 (diff) |
Make sure QDBusConnection::connect() returns false if already connected
QDBusConnection::connect() behaves like QObject::connect with a
connection type of Qt::UniqueConnection | Qt::QueuedConnection. So
return false if it's already connected.
[ChangeLog][QtDBus][QDBusConnection] Fixed a bug that would cause
QDBusConnection::connect() to return true if a slot was already
connected to the same D-Bus signal. QtDBus does not support multiple
connections.
Change-Id: I87e17314d8b24ae983b1fffd1453aef5a7c9ad0b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/dbus/qdbusconnection_p.h')
-rw-r--r-- | src/dbus/qdbusconnection_p.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h index bd100639d1..0b7c731810 100644 --- a/src/dbus/qdbusconnection_p.h +++ b/src/dbus/qdbusconnection_p.h @@ -280,7 +280,7 @@ public slots: void socketWrite(int); void objectDestroyed(QObject *o); void relaySignal(QObject *obj, const QMetaObject *, int signalId, const QVariantList &args); - void addSignalHook(const QString &key, const SignalHook &hook); + bool addSignalHook(const QString &key, const SignalHook &hook); bool removeSignalHook(const QString &key, const SignalHook &hook); private slots: @@ -293,7 +293,7 @@ signals: void dispatchStatusChanged(); void spyHooksFinished(const QDBusMessage &msg); void messageNeedsSending(QDBusPendingCallPrivate *pcall, void *msg, int timeout = -1); - void signalNeedsConnecting(const QString &key, const QDBusConnectionPrivate::SignalHook &hook); + bool signalNeedsConnecting(const QString &key, const QDBusConnectionPrivate::SignalHook &hook); bool signalNeedsDisconnecting(const QString &key, const QDBusConnectionPrivate::SignalHook &hook); void serviceOwnerChanged(const QString &name, const QString &oldOwner, const QString &newOwner); void callWithCallbackFailed(const QDBusError &error, const QDBusMessage &message); |