diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2017-05-12 14:54:22 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2017-05-17 09:26:43 +0000 |
commit | 4c472e790b48af5845b13b5a7b876fce2759e6bc (patch) | |
tree | 14618f36fe3ce544334172bddc917b5666baed34 /src/plugins/debugger/debuggerkitinformation.cpp | |
parent | dfa7e492a192cc376ba153bcfdc855aead6b8cf9 (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.cpp | 12 |
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) |