From 27e3a1ddf535b3d84b9705d178c758edef94e4e2 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Fri, 7 Jan 2011 20:10:54 +0100
Subject: [PATCH] debugger: remove engine type parameter from runcontrol
 constructor

---
 src/plugins/debugger/debuggerrunner.cpp       | 40 +++++++++----------
 src/plugins/debugger/debuggerrunner.h         |  2 +-
 .../debugger/debuggerstartparameters.h        |  2 +
 .../qt-s60/s60devicerunconfiguration.cpp      |  3 +-
 4 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index 612da1b7b8e..d26e6f937f4 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -104,8 +104,7 @@ class DebuggerRunControlPrivate
 {
 public:
     DebuggerRunControlPrivate(DebuggerRunControl *parent,
-        RunConfiguration *runConfiguration, unsigned enabledEngines);
-    unsigned enabledEngines() const;
+        RunConfiguration *runConfiguration);
 
     DebuggerEngineType engineForExecutable(unsigned enabledEngineTypes,
         const QString &executable);
@@ -117,28 +116,16 @@ public:
     DebuggerEngine *m_engine;
     const QWeakPointer<RunConfiguration> m_myRunConfiguration;
     bool m_running;
-    const unsigned m_cmdLineEnabledEngines;
     QString m_errorMessage;
     QString m_settingsIdHint;
 };
 
-unsigned DebuggerRunControlPrivate::enabledEngines() const
-{
-    unsigned rc = m_cmdLineEnabledEngines;
-#ifdef CDB_ENABLED
-    if (!isCdbEngineEnabled() && !Cdb::isCdbEngineEnabled())
-        rc &= ~CdbEngineType;
-#endif
-    return rc;
-}
-
 DebuggerRunControlPrivate::DebuggerRunControlPrivate(DebuggerRunControl *parent,
-        RunConfiguration *runConfiguration, unsigned enabledEngines)
+        RunConfiguration *runConfiguration)
     : q(parent)
     , m_engine(0)
     , m_myRunConfiguration(runConfiguration)
     , m_running(false)
-    , m_cmdLineEnabledEngines(enabledEngines)
 {
 }
 
@@ -261,10 +248,20 @@ static DebuggerEngineType engineForToolChain(ToolChainType toolChainType)
     return NoEngineType;
 }
 
+
+unsigned filterEngines(unsigned enabledEngineTypes)
+{
+#ifdef CDB_ENABLED
+    if (!isCdbEngineEnabled() && !Cdb::isCdbEngineEnabled())
+       enabledEngineTypes &= ~CdbEngineType;
+#endif
+    return enabledEngineTypes;
+}
+
 DebuggerRunControl::DebuggerRunControl(RunConfiguration *runConfiguration,
-        unsigned enabledEngines, const DebuggerStartParameters &startParams)
+        const DebuggerStartParameters &startParams)
     : RunControl(runConfiguration, Constants::DEBUGMODE),
-      d(new DebuggerRunControlPrivate(this, runConfiguration, enabledEngines))
+      d(new DebuggerRunControlPrivate(this, runConfiguration))
 {
     connect(this, SIGNAL(finished()), SLOT(handleFinished()));
 
@@ -272,7 +269,8 @@ DebuggerRunControl::DebuggerRunControl(RunConfiguration *runConfiguration,
     DebuggerEngineType engineType = NoEngineType;
     DebuggerLanguages activeLangs = debuggerCore()->activeLanguages();
     DebuggerStartParameters sp = startParams;
-    const unsigned enabledEngineTypes = d->enabledEngines();
+    unsigned enabledEngineTypes = filterEngines(sp.enabledEngines);
+
     if (sp.executable.endsWith(_(".js")))
         engineType = ScriptEngineType;
     else if (sp.executable.endsWith(_(".py")))
@@ -629,8 +627,10 @@ QWidget *DebuggerRunControlFactory::createConfigurationWidget
 }
 
 DebuggerRunControl *DebuggerRunControlFactory::create
-    (const DebuggerStartParameters &sp, RunConfiguration *runConfiguration)
+    (const DebuggerStartParameters &sp0, RunConfiguration *runConfiguration)
 {
+    DebuggerStartParameters sp = sp0;
+    sp.enabledEngines = m_enabledEngines;
     ConfigurationCheck check = checkDebugConfiguration(sp.toolChainType);
 
     if (!check) {
@@ -641,7 +641,7 @@ DebuggerRunControl *DebuggerRunControlFactory::create
     }
 
     DebuggerRunControl *runControl =
-        new DebuggerRunControl(runConfiguration, m_enabledEngines, sp);
+        new DebuggerRunControl(runConfiguration, sp);
     if (runControl->d->m_engine)
         return runControl;
     delete runControl;
diff --git a/src/plugins/debugger/debuggerrunner.h b/src/plugins/debugger/debuggerrunner.h
index cc07971632e..678f292ad97 100644
--- a/src/plugins/debugger/debuggerrunner.h
+++ b/src/plugins/debugger/debuggerrunner.h
@@ -106,7 +106,7 @@ class DEBUGGER_EXPORT DebuggerRunControl
 public:
     typedef ProjectExplorer::RunConfiguration RunConfiguration;
     DebuggerRunControl(RunConfiguration *runConfiguration,
-        unsigned enabledEngines, const DebuggerStartParameters &sp);
+        const DebuggerStartParameters &sp);
     ~DebuggerRunControl();
 
     // ProjectExplorer::RunControl
diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h
index 20a6f8026df..7b093e6b252 100644
--- a/src/plugins/debugger/debuggerstartparameters.h
+++ b/src/plugins/debugger/debuggerstartparameters.h
@@ -55,6 +55,7 @@ public:
       : isSnapshot(false),
         attachPID(-1),
         useTerminal(false),
+        enabledEngines(AllEngineTypes),
         qmlServerAddress(QLatin1String("127.0.0.1")),
         qmlServerPort(0),
         useServerStartScript(false),
@@ -73,6 +74,7 @@ public:
     QString workingDirectory;
     qint64 attachPID;
     bool useTerminal;
+    unsigned enabledEngines;
 
     // Used by AttachCrashedExternal.
     QString crashParameter;
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
index a402889a919..535691e7e22 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
@@ -796,6 +796,7 @@ static Debugger::DebuggerStartParameters s60DebuggerStartParams(const S60DeviceR
     sp.toolChainType = rc->toolChainType();
     sp.executable = debugFileName;
     sp.executableUid = rc->executableUid();
+    sp.enabledEngines = Debugger::GdbEngineType;
 
     QTC_ASSERT(sp.executableUid, return sp);
 
@@ -807,7 +808,7 @@ static Debugger::DebuggerStartParameters s60DebuggerStartParams(const S60DeviceR
 
 S60DeviceDebugRunControl::S60DeviceDebugRunControl(S60DeviceRunConfiguration *rc,
                                                    const QString &) :
-    Debugger::DebuggerRunControl(rc, Debugger::GdbEngineType, s60DebuggerStartParams(rc))
+    Debugger::DebuggerRunControl(rc, s60DebuggerStartParams(rc))
 {
     if (startParameters().symbolFileName.isEmpty()) {
         const QString msg = tr("Warning: Cannot locate the symbol file belonging to %1.").
-- 
GitLab