diff options
author | hjk <[email protected]> | 2019-03-12 17:04:08 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2019-03-12 16:47:47 +0000 |
commit | ceb0fe429dc2b42dfc30df3c70b39708cb86971b (patch) | |
tree | 524a70e722bd287759839b2a29e4c2b7a0bc6264 /src/plugins/debugger/debuggerruncontrol.cpp | |
parent | efb7d8deb77523cc0294d01d67e277e4ce471d33 (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.cpp | 21 |
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()) |