summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2017-10-19 14:18:26 +0200
committerhjk <hjk@qt.io>2017-10-19 14:10:42 +0000
commit597488bef426f13e895b433b71923fbb704729bb (patch)
treec6ed5da93b939cb131f87cf742b661ec63d3bfdf
parent5dfd48331f3eeafd0fdccc001e69b32a3b18497d (diff)
downloadqt-creator-597488bef426f13e895b433b71923fbb704729bb.tar.gz
Debugger: Move some code around
Parts of the Debugger engine rampdown mechanisms are essentially one code path now, don't distribute that over four classes. Change-Id: I4c6edbc0db94d1f658b0c1d9c154552f286db876 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--src/plugins/debugger/debuggerengine.cpp49
-rw-r--r--src/plugins/debugger/debuggerengine.h2
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp2
-rw-r--r--src/plugins/debugger/debuggerruncontrol.cpp13
-rw-r--r--src/plugins/debugger/debuggerruncontrol.h3
5 files changed, 20 insertions, 49 deletions
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index fc19bdd51b..b640f6a015 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -246,10 +246,18 @@ public:
m_engine->setState(DebuggerFinished);
resetLocation();
if (isMasterEngine()) {
- m_engine->showMessage("NOTE: FINISH DEBUGGER");
- QTC_ASSERT(state() == DebuggerFinished, qDebug() << m_engine << state());
- if (isMasterEngine() && m_runTool)
- m_runTool->debuggingFinished();
+ showMessage(tr("Debugging has finished"), NormalMessageFormat);
+ if (m_runTool) {
+ m_progress.setProgressValue(1000);
+ m_progress.reportFinished();
+ m_modulesHandler.removeAll();
+ m_stackHandler.removeAll();
+ m_threadsHandler.removeAll();
+ m_watchHandler.cleanup();
+ Internal::runControlFinished(m_runTool);
+ m_runTool->reportStopped();
+ m_runTool.clear();
+ }
}
}
@@ -556,29 +564,6 @@ void DebuggerEngine::gotoLocation(const Location &loc)
d->m_locationMark.reset(new LocationMark(this, file, line));
}
-// Called from RunControl.
-void DebuggerEngine::handleStartFailed()
-{
- showMessage("HANDLE RUNCONTROL START FAILED");
- d->m_runTool.clear();
- d->m_progress.setProgressValue(900);
- d->m_progress.reportCanceled();
- d->m_progress.reportFinished();
-}
-
-// Called from RunControl.
-void DebuggerEngine::handleFinished()
-{
- showMessage("HANDLE RUNCONTROL FINISHED");
- d->m_runTool.clear();
- d->m_progress.setProgressValue(1000);
- d->m_progress.reportFinished();
- modulesHandler()->removeAll();
- stackHandler()->removeAll();
- threadsHandler()->removeAll();
- watchHandler()->cleanup();
-}
-
const DebuggerRunParameters &DebuggerEngine::runParameters() const
{
return runTool()->runParameters();
@@ -679,8 +664,14 @@ void DebuggerEngine::notifyEngineSetupFailed()
showMessage("NOTE: ENGINE SETUP FAILED");
QTC_ASSERT(state() == EngineSetupRequested, qDebug() << this << state());
setState(EngineSetupFailed);
- if (isMasterEngine() && runTool())
- runTool()->startFailed();
+ if (isMasterEngine() && runTool()) {
+ showMessage(tr("Debugging has failed"), NormalMessageFormat);
+ d->m_runTool.clear();
+ d->m_progress.setProgressValue(900);
+ d->m_progress.reportCanceled();
+ d->m_progress.reportFinished();
+ }
+
setState(DebuggerFinished);
}
diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h
index 41bcd8a2fa..7f324835c5 100644
--- a/src/plugins/debugger/debuggerengine.h
+++ b/src/plugins/debugger/debuggerengine.h
@@ -337,8 +337,6 @@ public:
virtual QAbstractItemModel *sourceFilesModel() const;
void progressPing();
- void handleFinished();
- void handleStartFailed();
bool debuggerActionsEnabled() const;
static bool debuggerActionsEnabled(DebuggerState state);
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 078e1558e6..d7108dcd80 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -2946,8 +2946,6 @@ void DebuggerPluginPrivate::runControlStarted(DebuggerRunTool *runTool)
void DebuggerPluginPrivate::runControlFinished(DebuggerRunTool *runTool)
{
- if (runTool && runTool->engine())
- runTool->engine()->handleFinished();
showStatusMessage(tr("Debugger finished."));
m_snapshotHandler->removeSnapshot(runTool);
if (m_snapshotHandler->size() == 0) {
diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp
index 6e129b4da8..238f9b44a8 100644
--- a/src/plugins/debugger/debuggerruncontrol.cpp
+++ b/src/plugins/debugger/debuggerruncontrol.cpp
@@ -603,12 +603,6 @@ void DebuggerRunTool::start()
m_engine->start();
}
-void DebuggerRunTool::startFailed()
-{
- appendMessage(tr("Debugging has failed"), NormalMessageFormat);
- m_engine->handleStartFailed();
-}
-
void DebuggerRunTool::stop()
{
m_isDying = true;
@@ -616,13 +610,6 @@ void DebuggerRunTool::stop()
m_engine->quitDebugger();
}
-void DebuggerRunTool::debuggingFinished()
-{
- appendMessage(tr("Debugging has finished"), NormalMessageFormat);
- Internal::runControlFinished(this);
- reportStopped();
-}
-
const DebuggerRunParameters &DebuggerRunTool::runParameters() const
{
return m_runParameters;
diff --git a/src/plugins/debugger/debuggerruncontrol.h b/src/plugins/debugger/debuggerruncontrol.h
index 50d2ed4b98..1e559c272e 100644
--- a/src/plugins/debugger/debuggerruncontrol.h
+++ b/src/plugins/debugger/debuggerruncontrol.h
@@ -58,13 +58,10 @@ public:
void start() override;
void stop() override;
- void startFailed();
-
void notifyInferiorIll();
Q_SLOT void notifyInferiorExited(); // Called from Android.
void quitDebugger();
void abortDebugger();
- void debuggingFinished();
const Internal::DebuggerRunParameters &runParameters() const;