From 7bf72248ab6d278c92be61ca42a3c4cc0b1706e0 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 5 Sep 2024 15:53:20 +0200 Subject: [PATCH] ProjectExplorer: Fix ProjectImporter::cleanupTemporaryToolchains() We must not call ToolchainKitAspect::setToolchain(() with a null toolchain. This seems to have been broken for a while. Change-Id: I0865b2965de4636d9045db3d67487840583ae0db Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/projectimporter.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/projectimporter.cpp b/src/plugins/projectexplorer/projectimporter.cpp index 8cd4d2359c0..5b5f6458d1d 100644 --- a/src/plugins/projectexplorer/projectimporter.cpp +++ b/src/plugins/projectexplorer/projectimporter.cpp @@ -318,8 +318,10 @@ static Toolchain *toolChainFromVariant(const QVariant &v) void ProjectImporter::cleanupTemporaryToolchains(Kit *k, const QVariantList &vl) { - ToolchainManager::deregisterToolchains(Utils::transform(vl, toolChainFromVariant)); - ToolchainKitAspect::setToolchain(k, nullptr); + const Toolchains toolchains = Utils::transform(vl, toolChainFromVariant); + for (Toolchain * const tc : toolchains) + ToolchainKitAspect::clearToolchain(k, tc->language()); + ToolchainManager::deregisterToolchains(toolchains); } void ProjectImporter::persistTemporaryToolchains(Kit *k, const QVariantList &vl)