From 4c472e790b48af5845b13b5a7b876fce2759e6bc Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 12 May 2017 14:54:22 +0200 Subject: [PATCH] Debugger: Prefer debuggers in PATH to others when setting up kits Task-number: QTCREATORBUG-18188 Change-Id: Iaee65491cca5d7a66b6fbb70c2500395a995790d Reviewed-by: Orgad Shaneh --- src/plugins/debugger/debuggerkitinformation.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp index 8d4cd6299a5..5bc634fed84 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)