diff options
author | hjk <hjk@qt.io> | 2017-05-19 13:14:44 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-05-19 13:07:01 +0000 |
commit | a37c8add58d43e37a96c5c49080cd0bf41205308 (patch) | |
tree | 1feaece6f6605b3ec35706ee8bdf3cdb51b3128c /src | |
parent | ce7166bb010113ece18ae91df0360415c1582cae (diff) |
Debugger: Fix QmlInspector state update connection
Change-Id: I1693d593ec08c14c48b2c2800ce2f240f9e5f438
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/debugger/debuggerengine.cpp | 3 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerengine.h | 4 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerruncontrol.h | 1 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlengine.cpp | 10 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlengine.h | 2 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlinspectoragent.cpp | 9 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlinspectoragent.h | 5 |
7 files changed, 14 insertions, 20 deletions
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 898302a68e..fd5555ab6f 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -1287,9 +1287,6 @@ void DebuggerEngine::setState(DebuggerState state, bool forced) showMessage(msg, LogDebug); updateViews(); - QTC_ASSERT(runTool(), return); - runTool()->stateChanged(d->m_state); - if (isSlaveEngine()) masterEngine()->slaveEngineStateChanged(this, state); } diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 1ebaca564c..21a894d939 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -381,6 +381,8 @@ protected: void setRemoteParameters(const RemoteSetupResult &result); protected: + virtual void setState(DebuggerState state, bool forced = false); + virtual void notifyInferiorShutdownOk(); virtual void notifyInferiorShutdownFailed(); @@ -457,8 +459,6 @@ private: friend class DebuggerPluginPrivate; friend class QmlAdapter; - virtual void setState(DebuggerState state, bool forced = false); - friend class DebuggerEnginePrivate; friend class LocationMark; DebuggerEnginePrivate *d; diff --git a/src/plugins/debugger/debuggerruncontrol.h b/src/plugins/debugger/debuggerruncontrol.h index 91a90880ad..98db7447ad 100644 --- a/src/plugins/debugger/debuggerruncontrol.h +++ b/src/plugins/debugger/debuggerruncontrol.h @@ -88,7 +88,6 @@ public: void appendSolibSearchPath(const QString &str); signals: - void stateChanged(Debugger::DebuggerState state); void aboutToNotifyInferiorSetupOk(); void requestRemoteSetup(); diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index 1b72f5afe4..7bdadda57c 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -347,6 +347,12 @@ QmlEngine::~QmlEngine() delete d; } +void QmlEngine::setState(DebuggerState state, bool forced) +{ + DebuggerEngine::setState(state, forced); + updateCurrentContext(); +} + void QmlEngine::setRunTool(DebuggerRunTool *runTool) { DebuggerEngine::setRunTool(runTool); @@ -354,8 +360,6 @@ void QmlEngine::setRunTool(DebuggerRunTool *runTool) d->startupMessageFilterConnection = connect( runTool->runControl(), &RunControl::appendMessageRequested, d, &QmlEnginePrivate::filterApplicationMessage); - connect(runTool, &DebuggerRunTool::stateChanged, - this, &QmlEngine::updateCurrentContext); } void QmlEngine::setupInferior() @@ -1142,6 +1146,8 @@ void QmlEngine::disconnected() void QmlEngine::updateCurrentContext() { + d->inspectorAgent.enableTools(state() == InferiorRunOk); + QString context; switch (state()) { case InferiorStopOk: diff --git a/src/plugins/debugger/qml/qmlengine.h b/src/plugins/debugger/qml/qmlengine.h index 2154f8dcc1..82ef178087 100644 --- a/src/plugins/debugger/qml/qmlengine.h +++ b/src/plugins/debugger/qml/qmlengine.h @@ -67,6 +67,8 @@ private: void appStartupFailed(const QString &errorMessage); void appMessage(const QString &msg, Utils::OutputFormat); + void setState(DebuggerState state, bool forced) override; + void notifyEngineRemoteServerRunning(const QString &, int pid) override; void notifyEngineRemoteSetupFinished(const RemoteSetupResult &result) override; diff --git a/src/plugins/debugger/qml/qmlinspectoragent.cpp b/src/plugins/debugger/qml/qmlinspectoragent.cpp index a9003c0240..a765746c82 100644 --- a/src/plugins/debugger/qml/qmlinspectoragent.cpp +++ b/src/plugins/debugger/qml/qmlinspectoragent.cpp @@ -94,8 +94,6 @@ QmlInspectorAgent::QmlInspectorAgent(QmlEngine *engine, QmlDebugConnection *conn if (!m_masterEngine->isMasterEngine()) m_masterEngine = m_masterEngine->masterEngine(); - connect(m_masterEngine->runTool(), &DebuggerRunTool::stateChanged, - this, &QmlInspectorAgent::onEngineStateChanged); auto engineClient1 = new DeclarativeEngineDebugClient(connection); connect(engineClient1, &BaseEngineDebugClient::newState, @@ -760,7 +758,7 @@ void QmlInspectorAgent::toolsClientStateChanged(QmlDebugClient::State state) Core::ICore::addAdditionalContext(m_inspectorToolsContext); m_toolsClientConnected = true; - onEngineStateChanged(m_masterEngine->state()); + enableTools(m_masterEngine->state() == InferiorRunOk); if (m_showAppOnTopAction->isChecked()) m_toolsClient->showAppOnTop(true); @@ -913,10 +911,5 @@ void QmlInspectorAgent::onReloaded() reloadEngines(); } -void QmlInspectorAgent::onEngineStateChanged(const DebuggerState state) -{ - enableTools(state == InferiorRunOk); -} - } // namespace Internal } // namespace Debugger diff --git a/src/plugins/debugger/qml/qmlinspectoragent.h b/src/plugins/debugger/qml/qmlinspectoragent.h index 89ab13fee5..0f09016554 100644 --- a/src/plugins/debugger/qml/qmlinspectoragent.h +++ b/src/plugins/debugger/qml/qmlinspectoragent.h @@ -63,6 +63,7 @@ public: void assignValue(const WatchItem *data, const QString &expression, const QVariant &valueV); void updateWatchData(const WatchItem &data); void watchDataSelected(qint64 id); + void enableTools(bool enable); private: bool selectObjectInTree(int debugId); @@ -96,8 +97,6 @@ private: bool isConnected() const; void clearObjectTree(); - void onEngineStateChanged(const Debugger::DebuggerState); - void clientStateChanged(QmlDebug::QmlDebugClient::State state); void toolsClientStateChanged(QmlDebug::QmlDebugClient::State state); void engineClientStateChanged(QmlDebug::QmlDebugClient::State state); @@ -117,8 +116,6 @@ private: const QmlDebug::ObjectReference &objectReference, SelectionTarget target); - void enableTools(const bool enable); - private: QPointer<QmlEngine> m_qmlEngine; QmlDebug::BaseEngineDebugClient *m_engineClient; |