aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2017-05-19 13:14:44 +0200
committerhjk <hjk@qt.io>2017-05-19 13:07:01 +0000
commita37c8add58d43e37a96c5c49080cd0bf41205308 (patch)
tree1feaece6f6605b3ec35706ee8bdf3cdb51b3128c /src
parentce7166bb010113ece18ae91df0360415c1582cae (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.cpp3
-rw-r--r--src/plugins/debugger/debuggerengine.h4
-rw-r--r--src/plugins/debugger/debuggerruncontrol.h1
-rw-r--r--src/plugins/debugger/qml/qmlengine.cpp10
-rw-r--r--src/plugins/debugger/qml/qmlengine.h2
-rw-r--r--src/plugins/debugger/qml/qmlinspectoragent.cpp9
-rw-r--r--src/plugins/debugger/qml/qmlinspectoragent.h5
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;