diff options
author | Alberto Mardegan <alberto.mardegan@canonical.com> | 2016-08-09 17:01:37 +0300 |
---|---|---|
committer | Timo Jyrinki <timo.jyrinki@iki.fi> | 2016-09-06 18:22:58 +0000 |
commit | a32217cb551612277d43b3f7c08da85abe3874ac (patch) | |
tree | 70fe1c8af0dcc9b42ee0d61a26a53d0e40a48bed /src/dbus/qdbusserver.cpp | |
parent | 43a710df639c695f4c87e4857b8e8b045ab3df76 (diff) | |
download | qtbase-a32217cb551612277d43b3f7c08da85abe3874ac.tar.gz |
QDBusServer: delay processing of D-Bus messages
We must ensure that QDBusServer's newConnection() signal has been
processed by the application, before starting processing messages on it.
Task-number: QTBUG-55087
Change-Id: I595329b2f98788dbf9f40558b8c230c0c0817ef8
Reviewed-by: Timo Jyrinki <timo.jyrinki@iki.fi>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus/qdbusserver.cpp')
-rw-r--r-- | src/dbus/qdbusserver.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp index babb270da0..39d08b4e63 100644 --- a/src/dbus/qdbusserver.cpp +++ b/src/dbus/qdbusserver.cpp @@ -97,6 +97,7 @@ QDBusServer::QDBusServer(QObject *parent) */ QDBusServer::~QDBusServer() { + QWriteLocker locker(&d->lock); if (QDBusConnectionManager::instance()) { QMutexLocker locker(&QDBusConnectionManager::instance()->mutex); Q_FOREACH (const QString &name, d->serverConnectionNames) { @@ -104,6 +105,7 @@ QDBusServer::~QDBusServer() } d->serverConnectionNames.clear(); } + d->serverObject = nullptr; d->ref.store(0); d->deleteLater(); } |