From e9b160c025be3591d0bc1b915a597ccc2a7eb364 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 20 Aug 2024 12:24:46 +0200 Subject: [PATCH] ProjectExplorer: Do not call setup() or fix() for irrelevant kit aspects This check was already present for validate(), but missing for the other two functions. Fixes: QTCREATORBUG-31408 Change-Id: Icc70a9e2fe4b9576a7a25830fdd2300380174fa1 Reviewed-by: David Schulz --- src/plugins/projectexplorer/kit.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 22d6dbffba6..7deec714be7 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -255,16 +255,20 @@ Tasks Kit::validate() const void Kit::fix() { KitGuard g(this); - for (KitAspectFactory *factory : KitManager::kitAspectFactories()) - factory->fix(this); + for (KitAspectFactory *factory : KitManager::kitAspectFactories()) { + if (isAspectRelevant(factory->id())) + factory->fix(this); + } } void Kit::setup() { KitGuard g(this); const QList aspects = KitManager::kitAspectFactories(); - for (KitAspectFactory * const factory : aspects) - factory->setup(this); + for (KitAspectFactory * const factory : aspects) { + if (isAspectRelevant(factory->id())) + factory->setup(this); + } } void Kit::upgrade()