From a76dc0ade2f0ca75e51079a413de3a2f95f7d960 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 5 Nov 2022 19:29:20 +0100 Subject: [PATCH] PD: use Base::StateLocker to simplify handling of blockUpdate and make it exception-safe --- src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp index e9ae22be25..69d18f6132 100644 --- a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -103,8 +104,7 @@ TaskRevolutionParameters::TaskRevolutionParameters(PartDesignGui::ViewProvider* void TaskRevolutionParameters::fillAxisCombo(bool forceRefill) { - bool oldVal_blockUpdate = blockUpdate; - blockUpdate = true; + Base::StateLocker lock(blockUpdate, true); if (axesInList.empty()) forceRefill = true;//not filled yet, full refill @@ -169,8 +169,6 @@ void TaskRevolutionParameters::fillAxisCombo(bool forceRefill) //highlight current. if (indexOfCurrent != -1) ui->axis->setCurrentIndex(indexOfCurrent); - - blockUpdate = oldVal_blockUpdate; } void TaskRevolutionParameters::addAxisToCombo(App::DocumentObject* linkObj, @@ -201,11 +199,8 @@ void TaskRevolutionParameters::updateUI() { if (blockUpdate) return; - blockUpdate = true; - + Base::StateLocker lock(blockUpdate, true); fillAxisCombo(); - - blockUpdate = false; } void TaskRevolutionParameters::onSelectionChanged(const Gui::SelectionChanges& msg)