From 2efdeb5cd00ca012642d3b6944b04a04326c3f00 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Tue, 26 Oct 2010 17:08:12 +0200
Subject: [PATCH] debugger: fix EngineSetupFailed path

Task-number: QTCREATORBUG-2837
---
 src/plugins/debugger/debuggerengine.cpp | 2 +-
 src/plugins/debugger/debuggerplugin.cpp | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 52239c202b8..72915e4f6fa 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -1178,7 +1178,7 @@ void DebuggerEngine::notifyEngineSetupFailed()
     setState(EngineSetupFailed);
     QTC_ASSERT(d->m_runControl, return);
     d->m_runControl->startFailed();
-    d->queueShutdownEngine();
+    setState(DebuggerFinished);
 }
 
 void DebuggerEngine::notifyEngineSetupOk()
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index c178d8a2ae6..7b0edfdb2c2 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -172,6 +172,13 @@
 // Transitions marked by '*' are done asynchronously.
 // The GdbEngine->setupEngine() function is described in more detail below.
 //
+// The engines are responsible for local roll-back to the last
+// acknowledged state before calling notify*Failed. I.e. before calling
+// notifyEngineSetupFailed() any process started during setupEngine()
+// so far must be terminated.
+//
+//
+//
 //                        DebuggerNotReady
 //                               +
 //                      EngineSetupRequested
-- 
GitLab