From e1b139655feefdc2176f0eb0946105e6cbbe0ba7 Mon Sep 17 00:00:00 2001 From: tomate44 Date: Mon, 22 May 2023 17:08:00 +0200 Subject: [PATCH] Surface: allow instant update of BlendCurve properties --- src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp b/src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp index c7c1c4c515..1c481cd6fa 100644 --- a/src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp +++ b/src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp @@ -157,11 +157,6 @@ double FeatureBlendCurve::RelativeToRealParameters(double relativeValue, double void FeatureBlendCurve::onChanged(const App::Property *prop) { - // using a mutex and lock to protect a recursive calling when setting the new values - if (lockOnChangeMutex) - return; - Base::StateLocker lock(lockOnChangeMutex); - if (prop == &StartContinuity) { auto changedStartProp = dynamic_cast(prop); @@ -177,5 +172,11 @@ void FeatureBlendCurve::onChanged(const App::Property *prop) EndContinuity.setValue(maxDegree - 2 - StartContinuity.getValue()); } } + if (prop == &StartContinuity || prop == &StartParameter || prop == &StartSize || prop == &EndContinuity || prop == &EndParameter || prop == &EndSize) { + if (!isRestoring()) { + App::DocumentObjectExecReturn *ret = recompute(); + delete ret; + } + } Part::Spline::onChanged(prop); }