diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2016-08-26 17:56:16 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2016-11-24 14:38:28 +0000 |
commit | 2497ae7aa87caf80fce74c6dbe36d18cb61d299a (patch) | |
tree | 76335f281ff463240c76de63ac4166164b89fcfe /src/plugins | |
parent | 47c84e6b5e1162a6143663723e6b948b01d44c17 (diff) |
QmlDebug: Only wait in EngineControl service when "block" is active
This is more in line with the other services, and in practice we always
want to switch on blocking mode when using EngineControl anyway.
Change-Id: Ic8dc36b7ea0cf68ed7af670dddee8e7d351f6e0a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.cpp | 5 | ||||
-rw-r--r-- | src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.cpp b/src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.cpp index 0ed13d5105..9918a95116 100644 --- a/src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.cpp +++ b/src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.cpp @@ -46,6 +46,7 @@ QT_BEGIN_NAMESPACE QQmlEngineControlServiceImpl::QQmlEngineControlServiceImpl(QObject *parent) : QQmlEngineControlService(1, parent) { + blockingMode = QQmlDebugConnector::instance()->blockingMode(); } void QQmlEngineControlServiceImpl::messageReceived(const QByteArray &message) @@ -68,7 +69,7 @@ void QQmlEngineControlServiceImpl::messageReceived(const QByteArray &message) void QQmlEngineControlServiceImpl::engineAboutToBeAdded(QJSEngine *engine) { QMutexLocker lock(&dataMutex); - if (state() == Enabled) { + if (blockingMode && state() == Enabled) { Q_ASSERT(!stoppingEngines.contains(engine)); Q_ASSERT(!startingEngines.contains(engine)); startingEngines.append(engine); @@ -81,7 +82,7 @@ void QQmlEngineControlServiceImpl::engineAboutToBeAdded(QJSEngine *engine) void QQmlEngineControlServiceImpl::engineAboutToBeRemoved(QJSEngine *engine) { QMutexLocker lock(&dataMutex); - if (state() == Enabled) { + if (blockingMode && state() == Enabled) { Q_ASSERT(!stoppingEngines.contains(engine)); Q_ASSERT(!startingEngines.contains(engine)); stoppingEngines.append(engine); diff --git a/src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.h b/src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.h index 1138310820..6392944519 100644 --- a/src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.h +++ b/src/plugins/qmltooling/qmldbg_profiler/qqmlenginecontrolservice.h @@ -79,6 +79,7 @@ protected: QMutex dataMutex; QList<QJSEngine *> startingEngines; QList<QJSEngine *> stoppingEngines; + bool blockingMode; void messageReceived(const QByteArray &) Q_DECL_OVERRIDE; void engineAboutToBeAdded(QJSEngine *) Q_DECL_OVERRIDE; |