From 0e2a7608f2da6e32fdfe3e12ea1af164bb28807e Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Mon, 6 Sep 2010 11:33:07 +0200
Subject: [PATCH] debugger: fix remote adapter startup

---
 src/plugins/debugger/debuggerengine.cpp             | 2 ++
 src/plugins/debugger/debuggerengine.h               | 1 +
 src/plugins/debugger/debuggerplugin.cpp             | 6 +++---
 src/plugins/debugger/gdb/remotegdbserveradapter.cpp | 4 ++++
 4 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 4bca46849ae..61dcdf2b945 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -111,6 +111,7 @@ DebuggerStartParameters::DebuggerStartParameters()
     breakAtMain(false),
     qmlServerAddress("127.0.0.1"),
     qmlServerPort(0),
+    useServerStartScript(false),
     toolChainType(ToolChain::UNKNOWN),
     startMode(NoStartMode),
     executableUid(0)
@@ -144,6 +145,7 @@ QDebug operator<<(QDebug str, const DebuggerStartParameters &sp)
             << " remoteChannel=" << sp.remoteChannel
             << " remoteArchitecture=" << sp.remoteArchitecture
             << " symbolFileName=" << sp.symbolFileName
+            << " useServerStartScript=" << sp.useServerStartScript
             << " serverStartScript=" << sp.serverStartScript
             << " toolchain=" << sp.toolChainType << '\n';
     return str;
diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h
index 551c5daf46b..bc6a57498e8 100644
--- a/src/plugins/debugger/debuggerengine.h
+++ b/src/plugins/debugger/debuggerengine.h
@@ -85,6 +85,7 @@ public:
     QString remoteChannel;
     QString remoteArchitecture;
     QString symbolFileName;
+    bool useServerStartScript;
     QString serverStartScript;
     QString sysRoot;
     QByteArray remoteDumperLib;
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 2a27a8a9622..e72e48090c9 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -1764,7 +1764,7 @@ void DebuggerPluginPrivate::attachExternalApplication
     sp.displayName = tr("Process %1").arg(pid);
     sp.executable = binary;
     sp.crashParameter = crashParameter;
-    sp.startMode = crashParameter.isEmpty() ? AttachExternal:AttachCrashedExternal;
+    sp.startMode = crashParameter.isEmpty() ? AttachExternal : AttachCrashedExternal;
     DebuggerRunControl *rc = createDebugger(sp);
     startDebugger(rc);
 }
@@ -1844,8 +1844,8 @@ void DebuggerPluginPrivate::startRemoteApplication()
     if (!sp.debuggerCommand.isEmpty())
         sp.toolChainType = ToolChain::INVALID;
     sp.startMode = AttachToRemote;
-    if (dlg.useServerStartScript())
-        sp.serverStartScript = dlg.serverStartScript();
+    sp.useServerStartScript = dlg.useServerStartScript();
+    sp.serverStartScript = dlg.serverStartScript();
     sp.sysRoot = dlg.sysRoot();
     startDebugger(createDebugger(sp));
 }
diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
index 0d5f7314039..ef2c26e2345 100644
--- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
+++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
@@ -88,6 +88,10 @@ void RemoteGdbServerAdapter::startAdapter()
 {
     QTC_ASSERT(state() == EngineSetupRequested, qDebug() << state());
     showMessage(_("TRYING TO START ADAPTER"));
+    if (!startParameters().useServerStartScript) {
+        handleSetupDone();
+        return;
+    }
     if (startParameters().serverStartScript.isEmpty()) {
         showMessage(_("No server start script given. "), StatusBar);
         emit requestSetup();
-- 
GitLab