From d10f6a031a564cb640309bf1fe5180f1d6d3f03f Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 30 Apr 2020 16:41:39 +0200 Subject: [PATCH] Android: Guard against kits without Qt version ... in AndroidConfigurations::updateAutomaticKitList. Also, simplify code a bit. Task-number: QTCREATORBUG-23963 Change-Id: I6835721ec8b89dec57d668393178427ffa03ff6d Reviewed-by: Eike Ziller Reviewed-by: Assam Boudjelthia --- src/plugins/android/androidconfigurations.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index a574c4c1239..f5ce84007ed 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -1324,15 +1324,14 @@ static QVariant findOrRegisterDebugger(ToolChain *tc, void AndroidConfigurations::updateAutomaticKitList() { - const QList androidKits = Utils::filtered(KitManager::kits(), [](Kit *k) { - Core::Id deviceTypeId = DeviceTypeKitAspect::deviceTypeId(k); - return deviceTypeId == Core::Id(Constants::ANDROID_DEVICE_TYPE); - }); - - for (auto k: androidKits) { - if (k->value(Constants::ANDROID_KIT_NDK).isNull() || k->value(Constants::ANDROID_KIT_SDK).isNull()) { - k->setValueSilently(Constants::ANDROID_KIT_NDK, currentConfig().ndkLocation(QtSupport::QtKitAspect::qtVersion(k)).toString()); - k->setValue(Constants::ANDROID_KIT_SDK, currentConfig().sdkLocation().toString()); + for (Kit *k : KitManager::kits()) { + if (DeviceTypeKitAspect::deviceTypeId(k) == Constants::ANDROID_DEVICE_TYPE) { + if (k->value(Constants::ANDROID_KIT_NDK).isNull() || k->value(Constants::ANDROID_KIT_SDK).isNull()) { + if (BaseQtVersion *qt = QtKitAspect::qtVersion(k)) { + k->setValueSilently(Constants::ANDROID_KIT_NDK, currentConfig().ndkLocation(qt).toString()); + k->setValue(Constants::ANDROID_KIT_SDK, currentConfig().sdkLocation().toString()); + } + } } }