From eba9157476abfb34c4fe60a1f7911ed8b2a636ec Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Tue, 22 Jun 2010 12:41:41 +0200
Subject: [PATCH] debugger: pass RunConfiguration to
 ProjectExplorer::RunControl constructor if known.

---
 src/plugins/debugger/debuggerrunner.cpp | 12 ++++++------
 src/plugins/debugger/debuggerrunner.h   |  6 ++++--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index 129b5d0e665..a0f2c36a58f 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -168,12 +168,13 @@ RunControl *DebuggerRunControlFactory::create
 {
     QTC_ASSERT(mode == ProjectExplorer::Constants::DEBUGMODE, return 0);
     DebuggerStartParameters sp = localStartParameters(runConfiguration);
-    return create(sp);
+    return create(sp, runConfiguration);
 }
 
-RunControl *DebuggerRunControlFactory::create(const DebuggerStartParameters &sp)
+RunControl *DebuggerRunControlFactory::create(const DebuggerStartParameters &sp,
+    RunConfiguration *runConfiguration)
 {
-    DebuggerRunControl *runControl = new DebuggerRunControl;
+    DebuggerRunControl *runControl = new DebuggerRunControl(runConfiguration);
     runControl->setEnabledEngines(m_enabledEngines);
     runControl->createEngine(sp);
     if (!runControl->engine()) {
@@ -200,10 +201,9 @@ QWidget *DebuggerRunControlFactory::createConfigurationWidget(RunConfiguration *
 //
 ////////////////////////////////////////////////////////////////////////
 
-DebuggerRunControl::DebuggerRunControl(QObject *parent)
-    : RunControl(0, ProjectExplorer::Constants::DEBUGMODE)
+DebuggerRunControl::DebuggerRunControl(RunConfiguration *runConfiguration)
+    : RunControl(runConfiguration, ProjectExplorer::Constants::DEBUGMODE)
 {
-    Q_UNUSED(parent);
     m_running = false;
     m_engine = 0;
     m_enabledEngines = AllEngineTypes;
diff --git a/src/plugins/debugger/debuggerrunner.h b/src/plugins/debugger/debuggerrunner.h
index 5f1fcdc637e..99938b09147 100644
--- a/src/plugins/debugger/debuggerrunner.h
+++ b/src/plugins/debugger/debuggerrunner.h
@@ -68,7 +68,9 @@ public:
         *runConfiguration);
 
     // This is used by the "Non-Standard" scenarios, e.g. Attach to Core.
-    ProjectExplorer::RunControl *create(const DebuggerStartParameters &sp);
+    // FIXME: What to do in case of a 0 runConfiguration?
+    ProjectExplorer::RunControl *create(const DebuggerStartParameters &sp,
+        ProjectExplorer::RunConfiguration *runConfiguration = 0);
 
 private:
     DebuggerEngineType m_enabledEngines;
@@ -83,7 +85,7 @@ class DEBUGGER_EXPORT DebuggerRunControl
     Q_OBJECT
 
 public:
-    DebuggerRunControl(QObject *parent = 0);
+    DebuggerRunControl(ProjectExplorer::RunConfiguration *runConfiguration);
     ~DebuggerRunControl();
 
     // ProjectExplorer::RunControl
-- 
GitLab