From 8dabadbe56c9bb5a093f900af6e35aea3491331c Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 21 Jul 2022 09:22:32 +0200 Subject: [PATCH] TargetSetupWidget: Use Utils::Guard Change-Id: I8f055b523f37c89e1f62ee7748aec445b9c82a8b Reviewed-by: Reviewed-by: Christian Kandeler --- src/plugins/projectexplorer/targetsetupwidget.cpp | 10 ++++------ src/plugins/projectexplorer/targetsetupwidget.h | 4 +++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/plugins/projectexplorer/targetsetupwidget.cpp b/src/plugins/projectexplorer/targetsetupwidget.cpp index 91814cdc05f..88c3a3540d5 100644 --- a/src/plugins/projectexplorer/targetsetupwidget.cpp +++ b/src/plugins/projectexplorer/targetsetupwidget.cpp @@ -123,10 +123,9 @@ void TargetSetupWidget::setKitSelected(bool b) { // Only check target if there are build configurations possible b &= hasSelectedBuildConfigurations(); - m_ignoreChange = true; + const GuardLocker locker(m_ignoreChanges); m_detailsWidget->setChecked(b); m_detailsWidget->widget()->setEnabled(b); - m_ignoreChange = false; } void TargetSetupWidget::addBuildInfo(const BuildInfo &info, bool isImport) @@ -184,7 +183,7 @@ void TargetSetupWidget::addBuildInfo(const BuildInfo &info, bool isImport) void TargetSetupWidget::targetCheckBoxToggled(bool b) { - if (m_ignoreChange) + if (m_ignoreChanges.isLocked()) return; m_detailsWidget->widget()->setEnabled(b); if (b && (contains(m_infoStore, &BuildInfoStore::hasIssues) @@ -301,9 +300,8 @@ void TargetSetupWidget::updateDefaultBuildDirectories() for (BuildInfoStore &buildInfoStore : m_infoStore) { if (buildInfoStore.buildInfo.typeName == buildInfo.typeName) { if (!buildInfoStore.customBuildDir) { - m_ignoreChange = true; + const GuardLocker locker(m_ignoreChanges); buildInfoStore.pathChooser->setFilePath(buildInfo.buildDirectory); - m_ignoreChange = false; } found = true; break; @@ -334,7 +332,7 @@ void TargetSetupWidget::checkBoxToggled(bool b) void TargetSetupWidget::pathChanged() { - if (m_ignoreChange) + if (m_ignoreChanges.isLocked()) return; auto pathChooser = qobject_cast(sender()); QTC_ASSERT(pathChooser, return); diff --git a/src/plugins/projectexplorer/targetsetupwidget.h b/src/plugins/projectexplorer/targetsetupwidget.h index 02d44706b9d..0ea51bc218f 100644 --- a/src/plugins/projectexplorer/targetsetupwidget.h +++ b/src/plugins/projectexplorer/targetsetupwidget.h @@ -31,6 +31,8 @@ #include "kit.h" #include "task.h" +#include + #include QT_BEGIN_NAMESPACE @@ -117,7 +119,7 @@ private: }; std::vector m_infoStore; - bool m_ignoreChange = false; + Utils::Guard m_ignoreChanges; int m_selected = 0; // Number of selected "buildconfigurations" };