From 597488bef426f13e895b433b71923fbb704729bb Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 19 Oct 2017 14:18:26 +0200 Subject: 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 --- src/plugins/debugger/debuggerengine.cpp | 49 ++++++++++++----------------- src/plugins/debugger/debuggerengine.h | 2 -- src/plugins/debugger/debuggerplugin.cpp | 2 -- src/plugins/debugger/debuggerruncontrol.cpp | 13 -------- src/plugins/debugger/debuggerruncontrol.h | 3 -- 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; -- cgit v1.2.1