aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerruncontrol.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2019-03-12 17:04:08 +0100
committerhjk <[email protected]>2019-03-12 16:47:47 +0000
commitceb0fe429dc2b42dfc30df3c70b39708cb86971b (patch)
tree524a70e722bd287759839b2a29e4c2b7a0bc6264 /src/plugins/debugger/debuggerruncontrol.cpp
parentefb7d8deb77523cc0294d01d67e277e4ce471d33 (diff)
ProjectExplorer: Add RunControl::set{Kit,Target}
For cases where no genuine RunConfiguration is available. Use it in the debugger for the cases triggered from the menu. Change-Id: I5671f4f5db2547c4a7a70bd34292bb6ccc8e6bf4 Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src/plugins/debugger/debuggerruncontrol.cpp')
-rw-r--r--src/plugins/debugger/debuggerruncontrol.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp
index 9e8e2ddaaff..47446080593 100644
--- a/src/plugins/debugger/debuggerruncontrol.cpp
+++ b/src/plugins/debugger/debuggerruncontrol.cpp
@@ -876,7 +876,7 @@ Internal::TerminalRunner *DebuggerRunTool::terminalRunner() const
return d->terminalRunner;
}
-DebuggerRunTool::DebuggerRunTool(RunControl *runControl, Kit *kit, bool allowTerminal)
+DebuggerRunTool::DebuggerRunTool(RunControl *runControl, AllowTerminal allowTerminal)
: RunWorker(runControl), d(new DebuggerRunToolPrivate)
{
setId("DebuggerRunTool");
@@ -902,16 +902,15 @@ DebuggerRunTool::DebuggerRunTool(RunControl *runControl, Kit *kit, bool allowTer
QString(), QString(), optionalPrompt);
});
- if (runConfig) {
+ if (runConfig)
m_runParameters.displayName = runConfig->displayName();
- if (auto symbolsAspect = runConfig->aspect<SymbolFileAspect>())
- m_runParameters.symbolFile = symbolsAspect->value();
- if (auto terminalAspect = runConfig->aspect<TerminalAspect>())
- m_runParameters.useTerminal = terminalAspect->useTerminal();
- }
- if (runConfig && !kit)
- kit = runConfig->target()->kit();
+ if (auto symbolsAspect = runControl->aspect<SymbolFileAspect>())
+ m_runParameters.symbolFile = symbolsAspect->value();
+ if (auto terminalAspect = runControl->aspect<TerminalAspect>())
+ m_runParameters.useTerminal = terminalAspect->useTerminal();
+
+ Kit *kit = runControl->kit();
QTC_ASSERT(kit, return);
m_runParameters.sysRoot = SysRootKitAspect::sysRoot(kit);
@@ -922,7 +921,7 @@ DebuggerRunTool::DebuggerRunTool(RunControl *runControl, Kit *kit, bool allowTer
if (QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(kit))
m_runParameters.qtPackageSourceLocation = qtVersion->qtPackageSourcePath().toString();
- if (auto aspect = runConfig ? runConfig->aspect<DebuggerRunConfigurationAspect>() : nullptr) {
+ if (auto aspect = runControl->aspect<DebuggerRunConfigurationAspect>()) {
if (!aspect->useCppDebugger())
m_runParameters.cppEngineType = NoEngineType;
m_runParameters.isQmlDebugging = aspect->useQmlDebugger();
@@ -933,7 +932,7 @@ DebuggerRunTool::DebuggerRunTool(RunControl *runControl, Kit *kit, bool allowTer
// Normalize to work around QTBUG-17529 (QtDeclarative fails with 'File name case mismatch'...)
m_runParameters.inferior.workingDirectory =
FileUtils::normalizePathName(m_runParameters.inferior.workingDirectory);
- setUseTerminal(allowTerminal && m_runParameters.useTerminal);
+ setUseTerminal(allowTerminal == DoAllowTerminal && m_runParameters.useTerminal);
const QByteArray envBinary = qgetenv("QTC_DEBUGGER_PATH");
if (!envBinary.isEmpty())