forked from qt-creator/qt-creator
Debugger: Normalize some state handling
Remove some now-unusual connection to RunControl::finished and use a finished() callback in the ToolRunner implementation instead. Change-Id: Ieddf05a2258d9a300ac50a739d77d9cfaee10ca6 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -2957,6 +2957,8 @@ void DebuggerPluginPrivate::runControlStarted(DebuggerEngine *engine)
|
||||
|
||||
void DebuggerPluginPrivate::runControlFinished(DebuggerEngine *engine)
|
||||
{
|
||||
if (engine)
|
||||
engine->handleFinished();
|
||||
if (m_shuttingDown)
|
||||
return;
|
||||
showStatusMessage(tr("Debugger finished."));
|
||||
|
||||
@@ -538,9 +538,6 @@ void DebuggerRunTool::setRunParameters(const DebuggerRunParameters &rp, QString
|
||||
}
|
||||
|
||||
m_engine->setRunTool(this);
|
||||
|
||||
connect(runControl(), &RunControl::finished,
|
||||
this, &DebuggerRunTool::handleFinished);
|
||||
}
|
||||
|
||||
DebuggerRunTool::~DebuggerRunTool()
|
||||
@@ -554,11 +551,9 @@ DebuggerRunTool::~DebuggerRunTool()
|
||||
}
|
||||
}
|
||||
|
||||
void DebuggerRunTool::handleFinished()
|
||||
void DebuggerRunTool::onFinished()
|
||||
{
|
||||
appendMessage(tr("Debugging has finished") + '\n', NormalMessageFormat);
|
||||
if (m_engine)
|
||||
m_engine->handleFinished();
|
||||
runControlFinished(m_engine);
|
||||
}
|
||||
|
||||
|
||||
@@ -64,8 +64,7 @@ public:
|
||||
void start() override;
|
||||
void stop() override;
|
||||
void onTargetFailure() override;
|
||||
|
||||
void handleFinished();
|
||||
void onFinished() override;
|
||||
|
||||
void startFailed();
|
||||
void notifyEngineRemoteServerRunning(const QByteArray &msg, int pid);
|
||||
|
||||
@@ -730,6 +730,7 @@ void RunControlPrivate::initiateStop()
|
||||
|
||||
void RunControlPrivate::onToolStopped()
|
||||
{
|
||||
toolRunner->onStop();
|
||||
checkState(State::ToolStopping);
|
||||
setState(State::TargetStopping);
|
||||
targetRunner->stop();
|
||||
@@ -742,6 +743,7 @@ void RunControlPrivate::onTargetStopped()
|
||||
QTC_CHECK(applicationProcessHandle.isValid());
|
||||
q->setApplicationProcessHandle(Utils::ProcessHandle());
|
||||
|
||||
toolRunner->onFinished();
|
||||
targetRunner->onFinished();
|
||||
}
|
||||
|
||||
@@ -1356,7 +1358,6 @@ void ToolRunner::reportStopFailed(const QString &msg)
|
||||
|
||||
void ToolRunner::reportStopped()
|
||||
{
|
||||
onStop();
|
||||
m_runControl->d->onToolStopped();
|
||||
}
|
||||
|
||||
|
||||
@@ -528,6 +528,7 @@ public:
|
||||
virtual void onStop() {}
|
||||
virtual void onToolFailure() {}
|
||||
virtual void onTargetFailure() {}
|
||||
virtual void onFinished() {}
|
||||
|
||||
private:
|
||||
QPointer<RunControl> m_runControl;
|
||||
|
||||
Reference in New Issue
Block a user