summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dbus/qdbusintegrator.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index 231e973106..eada7b7792 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -1779,6 +1779,12 @@ void QDBusConnectionPrivate::waitForFinished(QDBusPendingCallPrivate *pcall)
}
}
+static inline bool waitingForFinishedIsSet(QDBusPendingCallPrivate *call)
+{
+ const QMutexLocker locker(&call->mutex);
+ return call->waitingForFinished;
+}
+
void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
{
QDBusConnectionPrivate *connection = const_cast<QDBusConnectionPrivate *>(call->connection);
@@ -1828,7 +1834,7 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
emit connection->callWithCallbackFailed(QDBusError(msg), call->sentMessage);
if (call->autoDelete) {
- Q_ASSERT(!call->waitingForFinished); // can't wait on a call with autoDelete!
+ Q_ASSERT(!waitingForFinishedIsSet(call)); // can't wait on a call with autoDelete!
delete call;
}
}