aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerkitinformation.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2017-05-12 14:54:22 +0200
committerTobias Hunger <tobias.hunger@qt.io>2017-05-17 09:26:43 +0000
commit4c472e790b48af5845b13b5a7b876fce2759e6bc (patch)
tree14618f36fe3ce544334172bddc917b5666baed34 /src/plugins/debugger/debuggerkitinformation.cpp
parentdfa7e492a192cc376ba153bcfdc855aead6b8cf9 (diff)
Debugger: Prefer debuggers in PATH to others when setting up kits
Task-number: QTCREATORBUG-18188 Change-Id: Iaee65491cca5d7a66b6fbb70c2500395a995790d Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/debugger/debuggerkitinformation.cpp')
-rw-r--r--src/plugins/debugger/debuggerkitinformation.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp
index 8d4cd6299a..5bc634fed8 100644
--- a/src/plugins/debugger/debuggerkitinformation.cpp
+++ b/src/plugins/debugger/debuggerkitinformation.cpp
@@ -59,14 +59,20 @@ DebuggerKitInformation::DebuggerKitInformation()
QVariant DebuggerKitInformation::defaultValue(const Kit *k) const
{
const Abi toolChainAbi = ToolChainKitInformation::targetAbi(k);
+ const QStringList paths = Environment::systemEnvironment().path();
+ QVariant nextBestFit;
foreach (const DebuggerItem &item, DebuggerItemManager::debuggers()) {
foreach (const Abi targetAbi, item.abis()) {
- if (targetAbi.isCompatibleWith(toolChainAbi))
- return item.id();
+ if (targetAbi.isCompatibleWith(toolChainAbi)) {
+ if (paths.contains(item.command().toFileInfo().absolutePath()))
+ return item.id(); // prefer debuggers found in PATH over those found elsewhere
+ if (nextBestFit.isNull())
+ nextBestFit = item.id();
+ }
}
}
- return QVariant();
+ return nextBestFit;
}
void DebuggerKitInformation::setup(Kit *k)