From b9fb6f4b607139c49b38588e55f04e09ae51a78b Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Thu, 6 Jan 2011 19:41:09 +0100
Subject: [PATCH] maemo: refactor debugger interaction

---
 .../qt-maemo/maemodebugsupport.cpp                 | 14 ++++++++------
 .../qt4projectmanager/qt-maemo/maemodebugsupport.h |  3 ++-
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp
index 0b5073019dd..a80a11cf80e 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp
@@ -82,7 +82,7 @@ RunControl *MaemoDebugSupport::createDebugRunControl(MaemoRunConfiguration *runC
             params.executable = runConfig->remoteExecutableFilePath();
             params.debuggerCommand
                 = MaemoGlobal::remoteCommandPrefix(runConfig->remoteExecutableFilePath())
-                    + environment(runConfig->debuggingType(), runConfig->userEnvironmentChanges())
+                    + environment(debuggingType, runConfig->userEnvironmentChanges())
                     + QLatin1String(" /usr/bin/gdb");
             params.connParams = devConf.server;
             params.localMountDir = runConfig->localDirToMountForRemoteGdb();
@@ -109,20 +109,23 @@ RunControl *MaemoDebugSupport::createDebugRunControl(MaemoRunConfiguration *runC
 
     DebuggerRunControl * const runControl =
         DebuggerPlugin::createDebugger(params, runConfig);
+    bool useGdb = params.startMode == StartRemoteGdb
+        && debuggingType != MaemoRunConfiguration::DebugQmlOnly;
     MaemoDebugSupport *debugSupport =
-        new MaemoDebugSupport(runConfig, runControl->engine());
+        new MaemoDebugSupport(runConfig, runControl->engine(), useGdb);
     connect(runControl, SIGNAL(finished()),
         debugSupport, SLOT(handleDebuggingFinished()));
     return runControl;
 }
 
 MaemoDebugSupport::MaemoDebugSupport(MaemoRunConfiguration *runConfig,
-    DebuggerEngine *engine)
+    DebuggerEngine *engine, bool useGdb)
     : QObject(engine), m_engine(engine), m_runConfig(runConfig),
       m_runner(new MaemoSshRunner(this, runConfig, true)),
       m_debuggingType(runConfig->debuggingType()),
       m_dumperLib(runConfig->dumperLib()),
-      m_state(Inactive), m_gdbServerPort(-1), m_qmlPort(-1)
+      m_state(Inactive), m_gdbServerPort(-1), m_qmlPort(-1),
+      m_useGdb(useGdb)
 {
     connect(m_engine, SIGNAL(requestRemoteSetup()), this,
         SLOT(handleAdapterSetupRequested()));
@@ -366,8 +369,7 @@ QString MaemoDebugSupport::uploadDir(const MaemoDeviceConfig &devConf)
 
 bool MaemoDebugSupport::useGdb() const
 {
-    return m_engine->startParameters().startMode == StartRemoteGdb
-        && m_debuggingType != MaemoRunConfiguration::DebugQmlOnly;
+    return m_useGdb;
 }
 
 bool MaemoDebugSupport::setPort(int &port)
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.h b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.h
index baf8bbe62d6..4e72040027e 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.h
@@ -65,7 +65,7 @@ public:
     static ProjectExplorer::RunControl *createDebugRunControl(MaemoRunConfiguration *runConfig);
 
     MaemoDebugSupport(MaemoRunConfiguration *runConfig,
-        Debugger::DebuggerEngine *engine);
+        Debugger::DebuggerEngine *engine, bool useGdb);
     ~MaemoDebugSupport();
 
     static QString uploadDir(const MaemoDeviceConfig &devConf);
@@ -111,6 +111,7 @@ private:
     State m_state;
     int m_gdbServerPort;
     int m_qmlPort;
+    bool m_useGdb;
 };
 
 } // namespace Internal
-- 
GitLab