diff --git a/src/plugins/debugger/commonoptionspage.cpp b/src/plugins/debugger/commonoptionspage.cpp
index 3f0e65e4593..c3599f9aead 100644
--- a/src/plugins/debugger/commonoptionspage.cpp
+++ b/src/plugins/debugger/commonoptionspage.cpp
@@ -126,6 +126,7 @@ QWidget *CommonOptionsPage::createPage(QWidget *parent)
m_group.insert(debuggerCore()->action(VerboseLog), 0);
m_group.insert(debuggerCore()->action(BreakOnThrow), 0);
m_group.insert(debuggerCore()->action(BreakOnCatch), 0);
+ m_group.insert(debuggerCore()->action(QtSourcesLocation), 0);
#ifdef Q_OS_WIN
Utils::SavedAction *registerAction = debuggerCore()->action(RegisterForPostMortem);
m_group.insert(registerAction,
diff --git a/src/plugins/debugger/commonoptionspage.ui b/src/plugins/debugger/commonoptionspage.ui
index 3fb5ea321a9..bf9ba18dab9 100644
--- a/src/plugins/debugger/commonoptionspage.ui
+++ b/src/plugins/debugger/commonoptionspage.ui
@@ -129,6 +129,32 @@
+ -
+
+
+ Sources
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Qt Sources:
+
+
+
+ -
+
+
+
+
+
+
-
@@ -147,6 +173,13 @@
+
+
+ Utils::PathChooser
+ QWidget
+
+
+
diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp
index f6201f05515..cd0a1a68d74 100644
--- a/src/plugins/debugger/debuggeractions.cpp
+++ b/src/plugins/debugger/debuggeractions.cpp
@@ -400,6 +400,11 @@ DebuggerSettings::DebuggerSettings(QSettings *settings)
item->setSettingsKey(debugModeGroup, QLatin1String("WatchdogTimeout"));
item->setDefaultValue(20);
insertItem(GdbWatchdogTimeout, item);
+
+ item = new SavedAction(this);
+ item->setSettingsKey(debugModeGroup, QLatin1String("QtSourcesLocation"));
+ item->setDefaultValue(QString());
+ insertItem(QtSourcesLocation, item);
}
diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h
index 437663b309f..c6c176f2961 100644
--- a/src/plugins/debugger/debuggeractions.h
+++ b/src/plugins/debugger/debuggeractions.h
@@ -88,6 +88,7 @@ enum DebuggerActionCode
UseDebuggingHelpers,
UseCustomDebuggingHelperLocation,
CustomDebuggingHelperLocation,
+ QtSourcesLocation,
UseCodeModel,
ShowThreadNames,
diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index 97869e72f75..babc9315ee5 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -601,10 +601,6 @@ static DebuggerStartParameters localStartParameters(RunConfiguration *runConfigu
//qDebug() << "DUMPER: " << sp.dumperLibrary << sp.dumperLibraryLocations;
sp.displayName = rc->displayName();
- // Find qtInstallPath.
- QString qmakePath = DebuggingHelperLibrary::findSystemQt(rc->environment());
- if (!qmakePath.isEmpty())
- sp.qtInstallPath = findQtInstallPath(qmakePath);
return sp;
}
diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h
index 011042d7342..1d9c4a78a08 100644
--- a/src/plugins/debugger/debuggerstartparameters.h
+++ b/src/plugins/debugger/debuggerstartparameters.h
@@ -117,7 +117,6 @@ public:
QString debuggerCommand;
ProjectExplorer::Abi toolChainAbi;
- QString qtInstallPath;
QString dumperLibrary;
QStringList dumperLibraryLocations;
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 3721efc41c7..33efe94dfc9 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -4492,7 +4492,8 @@ void GdbEngine::notifyInferiorSetupFailed()
void GdbEngine::handleInferiorPrepared()
{
QTC_ASSERT(state() == InferiorSetupRequested, qDebug() << state());
- const QByteArray qtInstallPath = startParameters().qtInstallPath.toLocal8Bit();
+ const QByteArray qtInstallPath =
+ debuggerCore()->action(QtSourcesLocation)->value().toString().toLocal8Bit();
if (!qtInstallPath.isEmpty()) {
QByteArray qtBuildPath;
#if defined(Q_OS_WIN)
diff --git a/tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp b/tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp
index d2e970e5f46..a45ac4ef608 100644
--- a/tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp
+++ b/tests/manual/gdbdebugger/simple/simple_gdbtest_app.cpp
@@ -2060,14 +2060,6 @@ struct Ty
};
void testStuff()
-{
- char *x = "0\032\0333";
- char *y = "0\032\0333";
- char *z = "0\032\0333";
- int i = 1;
-}
-
-void testStuff5()
{
using namespace std;
typedef map > map_t;