diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-11-30 20:01:06 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-12-15 14:54:31 +0000 |
commit | 18c4295e25503ae637a715858de5c94a3d105a92 (patch) | |
tree | 17efb5e441c5f67ed6c6f50976ce5c54eb7df645 /src/plugins | |
parent | 73be0b70e52ab4e10d91ff6bcd6320138deb0b7a (diff) |
V4 Debugger: use engineAdded() instead of engineAboutToBeAdded()
It does not make a difference in functionality, but after engineAdded()
the server won't wait on a mutex anymore. Before this change, if you
managed to send a message to the V4 debugger after the server had
called aboutToBeAdded(), but before it had stopped waiting, you could
produce a deadlock by scheduling an event for the GUI thread that was
never delivered.
Change-Id: I3a7fb2e46d67b7cc03733154ea61f2bf35f8ea24
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp index 505617b8f9..dea1fae779 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp @@ -651,7 +651,7 @@ QV4DebugServiceImpl::~QV4DebugServiceImpl() qDeleteAll(handlers); } -void QV4DebugServiceImpl::engineAboutToBeAdded(QJSEngine *engine) +void QV4DebugServiceImpl::engineAdded(QJSEngine *engine) { QMutexLocker lock(&m_configMutex); if (engine) { @@ -667,7 +667,7 @@ void QV4DebugServiceImpl::engineAboutToBeAdded(QJSEngine *engine) } } } - QQmlConfigurableDebugService<QV4DebugService>::engineAboutToBeAdded(engine); + QQmlConfigurableDebugService<QV4DebugService>::engineAdded(engine); } void QV4DebugServiceImpl::engineAboutToBeRemoved(QJSEngine *engine) diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h index 5e6f466ecf..678ebe43b8 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h +++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.h @@ -69,7 +69,7 @@ public: explicit QV4DebugServiceImpl(QObject *parent = 0); ~QV4DebugServiceImpl() Q_DECL_OVERRIDE; - void engineAboutToBeAdded(QJSEngine *engine) Q_DECL_OVERRIDE; + void engineAdded(QJSEngine *engine) Q_DECL_OVERRIDE; void engineAboutToBeRemoved(QJSEngine *engine) Q_DECL_OVERRIDE; void stateAboutToBeChanged(State state) Q_DECL_OVERRIDE; |