From fba4106311d81366d2fc08740ac3a38f0ee38ea9 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 27 Feb 2013 12:33:21 +0100 Subject: [PATCH] Android: Mark toolchains from not the current ndk as invalid And ensure that they are removed on changing the ndk directory. Change-Id: Ifd3de4d2ac53e93c70b683e11c1368755969ccee Reviewed-by: Tobias Hunger --- src/plugins/android/androidsettingspage.cpp | 9 ++++++++- src/plugins/android/androidtoolchain.cpp | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/android/androidsettingspage.cpp b/src/plugins/android/androidsettingspage.cpp index d25df79802a..28722c3e30a 100644 --- a/src/plugins/android/androidsettingspage.cpp +++ b/src/plugins/android/androidsettingspage.cpp @@ -83,7 +83,14 @@ void AndroidSettingsPage::apply() ProjectExplorer::ToolChainManager::instance()->registerToolChain(tc); } - // TODO deregister old automatic toolchains? + for (int i = 0; i < existingToolChains.count(); ++i) { + ProjectExplorer::ToolChain *tc = existingToolChains.at(i); + if (tc->type() == QLatin1String(Constants::ANDROID_TOOLCHAIN_TYPE)) { + if (!tc->isValid()) { + ProjectExplorer::ToolChainManager::instance()->deregisterToolChain(tc); + } + } + } AndroidConfigurations::instance().updateAutomaticKitList(); } diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index 016e3acf910..3b00796d19d 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -101,7 +101,8 @@ QString AndroidToolChain::typeDisplayName() const bool AndroidToolChain::isValid() const { - return GccToolChain::isValid() && targetAbi().isValid() && !m_ndkToolChainVersion.isEmpty(); + return GccToolChain::isValid() && targetAbi().isValid() && !m_ndkToolChainVersion.isEmpty() + && compilerCommand().isChildOf(AndroidConfigurations::instance().config().ndkLocation); } void AndroidToolChain::addToEnvironment(Environment &env) const