From a364b93577b59ad75ebcbf6fceb459edb2460cc1 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Tue, 7 Sep 2010 13:22:12 +0200
Subject: [PATCH] debugger: allow state transition EngineShutdownRequested ->
 EngineShutdownFailed

---
 src/plugins/debugger/debuggerengine.cpp       |  2 +-
 .../debugger/gdb/remotegdbserveradapter.cpp   | 23 +++++++++++--------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 61dcdf2b945..b114544c00a 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -1104,7 +1104,7 @@ static bool isAllowedTransition(DebuggerState from, DebuggerState to)
         return to == EngineShutdownRequested;
 
     case EngineShutdownRequested:
-        return to == EngineShutdownOk;
+        return to == EngineShutdownOk || to == EngineShutdownFailed;
     case EngineShutdownOk:
         return to == DebuggerFinished;
     case EngineShutdownFailed:
diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
index 824b5e78db8..f3749f402ab 100644
--- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
+++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
@@ -169,17 +169,20 @@ void RemoteGdbServerAdapter::setupInferior()
         QFileInfo fi(startParameters().executable);
         fileName = fi.absoluteFilePath();
     }
-    m_engine->postCommand("set architecture "
-        + startParameters().remoteArchitecture.toLatin1());
-    m_engine->postCommand("set sysroot "
-        + startParameters().sysRoot.toLocal8Bit());
-    m_engine->postCommand("set solib-search-path "
-        + QFileInfo(startParameters().dumperLibrary).path().toLocal8Bit());
-
-    if (!startParameters().processArgs.isEmpty()) {
-        QString args = startParameters().processArgs.join(_(" "));
+    const QByteArray sysRoot = startParameters().sysRoot.toLocal8Bit();
+    const QByteArray remoteArch = startParameters().remoteArchitecture.toLatin1();
+    const QByteArray solibPath =
+         QFileInfo(startParameters().dumperLibrary).path().toLocal8Bit();
+    const QString args = startParameters().processArgs.join(_(" "));
+
+    if (!remoteArch.isEmpty())
+        m_engine->postCommand("set architecture " + remoteArch);
+    if (!sysRoot.isEmpty())
+        m_engine->postCommand("set sysroot " + sysRoot);
+    if (!solibPath.isEmpty())
+        m_engine->postCommand("set solib-search-path " + solibPath);
+    if (!args.isEmpty())
         m_engine->postCommand("-exec-arguments " + args.toLocal8Bit());
-    }
 
     m_engine->postCommand("set target-async on", CB(handleSetTargetAsync));
 
-- 
GitLab