From ad615a5a7f2d9060ac043bb7552acebf8fa34550 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Wed, 11 Apr 2012 16:27:14 +0200 Subject: [PATCH] Debugger: Add asserts for right usage of threads Change-Id: I7c377863eb42e693aa4022af33a83098547e0d58 Reviewed-by: Aurindam Jana --- src/qml/debugger/qqmldebugserver.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/qml/debugger/qqmldebugserver.cpp b/src/qml/debugger/qqmldebugserver.cpp index 3b18f75..25cd18b 100644 --- a/src/qml/debugger/qqmldebugserver.cpp +++ b/src/qml/debugger/qqmldebugserver.cpp @@ -370,6 +370,9 @@ QQmlDebugServer::~QQmlDebugServer() void QQmlDebugServer::receiveMessage(const QByteArray &message) { + // to be executed in debugger thread + Q_ASSERT(QThread::currentThread() == thread()); + Q_D(QQmlDebugServer); QDataStream in(message); @@ -512,6 +515,10 @@ QStringList QQmlDebugServer::serviceNames() const bool QQmlDebugServer::addService(QQmlDebugService *service) { Q_D(QQmlDebugServer); + + // to be executed in GUI thread + Q_ASSERT(QThread::currentThread() == QCoreApplication::instance()->thread()); + { QWriteLocker(&d->pluginsLock); if (!service || d->plugins.contains(service->name())) @@ -532,6 +539,10 @@ bool QQmlDebugServer::addService(QQmlDebugService *service) bool QQmlDebugServer::removeService(QQmlDebugService *service) { Q_D(QQmlDebugServer); + + // to be executed in GUI thread + Q_ASSERT(QThread::currentThread() == QCoreApplication::instance()->thread()); + { QWriteLocker(&d->pluginsLock); QQmlDebugService::State newState = QQmlDebugService::NotConnected; @@ -568,6 +579,9 @@ void QQmlDebugServer::sendMessages(QQmlDebugService *service, bool QQmlDebugServer::waitForMessage(QQmlDebugService *service) { + // to be executed in GUI thread + Q_ASSERT(QThread::currentThread() == QCoreApplication::instance()->thread()); + Q_D(QQmlDebugServer); QReadLocker(&d->pluginsLock); -- 2.7.4