From 9a364811de9e53e3df544ac963bbeafa0d58380c Mon Sep 17 00:00:00 2001 From: Yasser Grimes Date: Mon, 27 Nov 2023 14:58:37 +0200 Subject: [PATCH] McuSupport: Ignore resetting QtMCUs package on target update QtMCUs package is part of every target with the same pointer address across all targets, when reseting the target packages to default this will cause inconsistensy as the default path for QtMCUs package is the home directory. Fixes: QTCREATORBUG-29960 Change-Id: I2fcc6b631355928bc883e9072b0f3f3c12737c37 Reviewed-by: Alessandro Portale Reviewed-by: Karim Abdelrahman --- src/plugins/mcusupport/mcukitmanager.cpp | 3 +-- src/plugins/mcusupport/mcutarget.cpp | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/mcusupport/mcukitmanager.cpp b/src/plugins/mcusupport/mcukitmanager.cpp index 2cc2311e693..fd2ce79486e 100644 --- a/src/plugins/mcusupport/mcukitmanager.cpp +++ b/src/plugins/mcusupport/mcukitmanager.cpp @@ -30,7 +30,6 @@ #include -#include #include #include #include @@ -433,7 +432,7 @@ QList existingKits(const McuTarget *mcuTarget) using namespace Constants; // some models have compatible name changes that refere to the same supported board across versions. // name changes are tracked here to recognize the corresponding kits as upgradable. - static QMap upgradable_to = { + static const QMap upgradable_to = { {"MIMXRT1170-EVK-FREERTOS", {"MIMXRT1170-EVKB-FREERTOS"}}}; return Utils::filtered(KitManager::kits(), [mcuTarget](Kit *kit) { return kit->value(KIT_MCUTARGET_KITVERSION_KEY) == KIT_VERSION diff --git a/src/plugins/mcusupport/mcutarget.cpp b/src/plugins/mcusupport/mcutarget.cpp index faef32b61ba..84cc80f7aa0 100644 --- a/src/plugins/mcusupport/mcutarget.cpp +++ b/src/plugins/mcusupport/mcutarget.cpp @@ -7,6 +7,7 @@ #include "mcusupport_global.h" #include "mcusupportplugin.h" #include "mcusupporttr.h" +#include "mcusupportconstants.h" #include @@ -115,12 +116,13 @@ void McuTarget::handlePackageProblems(MessagesList &messages) const void McuTarget::resetInvalidPathsToDefault() { - for (McuPackagePtr package : std::as_const(m_packages)) { if (!package) continue; if (package->isValidStatus()) continue; + if (package->settingsKey() == Constants::SETTINGS_KEY_PACKAGE_QT_FOR_MCUS_SDK) + continue; package->setPath(package->defaultPath()); package->writeToSettings(); }