From 7328bce8a633850b93aacec944499ffba513e080 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 13 Apr 2011 16:45:38 +0200 Subject: [PATCH] Set debugger when importing tool chains from old settings Set the default debugger when importing tool chains from old settings. We just left the field blank before. Task-number: QTCREATORBUG-4482 Reviewed-by: dt --- src/plugins/projectexplorer/gcctoolchain.cpp | 10 ++++++++++ src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp | 2 ++ src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp | 2 ++ src/plugins/qt4projectmanager/qtversionmanager.cpp | 2 ++ 4 files changed, 16 insertions(+) diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 1e755b15abd..60916585ac7 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -691,6 +691,16 @@ QString Internal::MingwToolChainFactory::id() const QList Internal::MingwToolChainFactory::autoDetect() { + // Compatibility to pre-2.2: + // All Mingw toolchains that exist so far are either installed by the SDK itself (in + // which case they most likely have debuggers set up) or were created when updating + // from a previous Qt version. Add debugger in that case. + foreach (ToolChain *tc, ToolChainManager::instance()->toolChains()) { + if (tc->debuggerCommand().isEmpty() && tc->id().startsWith(QLatin1String(Constants::MINGW_TOOLCHAIN_ID))) + static_cast(tc) + ->setDebuggerCommand(ToolChainManager::instance()->defaultDebugger(tc->targetAbi())); + } + Abi ha = Abi::hostAbi(); return autoDetectToolchains(QLatin1String("g++"), QStringList(), Abi(ha.architecture(), Abi::WindowsOS, Abi::WindowsMSysFlavor, Abi::PEFormat, ha.wordWidth())); diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp index 1a17dcd9259..822f633ee44 100644 --- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include @@ -160,6 +161,7 @@ QList GcceToolChainFactory::autoDetect() GcceToolChain *tc = new GcceToolChain(false); tc->setCompilerPath(fi.absoluteFilePath()); tc->setDisplayName(tr("GCCE from Qt version")); + tc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(tc->targetAbi())); result.append(tc); } } diff --git a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp index 4ae7c7b83b8..3c05ee9befa 100644 --- a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -535,6 +536,7 @@ QList RvctToolChainFactory::autoDetect() tc->setDisplayName(name.arg(armVersionString(tc->armVersion())) .arg(v.majorVersion).arg(v.minorVersion).arg(v.build)); tc->setVersion(v); + tc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(tc->targetAbi())); result.append(tc); } diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index bd4a3fce4eb..9c3915b5b78 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -185,6 +185,8 @@ QtVersionManager::QtVersionManager() if (tc) { tc->setCompilerPath(fi.absoluteFilePath()); tc->setDisplayName(tr("MinGW from %1").arg(version->displayName())); + // The debugger is set later in the autoDetect method of the MinGw tool chain factory + // as the default debuggers are not yet registered. ProjectExplorer::ToolChainManager::instance()->registerToolChain(tc); } }