From 9dd57ddee93d93a45509530d7c3e0398cf68bc6e Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 3 Jul 2020 15:25:21 +0200 Subject: [PATCH] Surface: in Extend::onChanged call the function of its direct parent class Part::Spline --- src/Mod/Surface/App/FeatureExtend.cpp | 72 +++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/Mod/Surface/App/FeatureExtend.cpp b/src/Mod/Surface/App/FeatureExtend.cpp index 641ebc968d..a7fb608ebf 100644 --- a/src/Mod/Surface/App/FeatureExtend.cpp +++ b/src/Mod/Surface/App/FeatureExtend.cpp @@ -46,42 +46,6 @@ const App::PropertyFloatConstraint::Constraints ToleranceRange = {0.0,10.0,0.01} const App::PropertyFloatConstraint::Constraints ExtendRange = {-0.5,10.0,0.01}; PROPERTY_SOURCE(Surface::Extend, Part::Spline) -void Surface::Extend::onChanged(const App::Property* prop) -{ - // using a mutex and lock to protect a recursive calling when setting the new values - if (!lockOnChangeMutex.try_lock()) return; - lockOnChangeMutex.unlock(); - std::lock_guard lock(lockOnChangeMutex); - - if ( ExtendUSymetric.getValue() ) - { - if (prop->getName() == ExtendUNeg.getName() - || prop->getName() == ExtendUPos.getName()) - { - auto changedValue = dynamic_cast(prop); - if (changedValue) - { - ExtendUNeg.setValue(changedValue->getValue()); - ExtendUPos.setValue(changedValue->getValue()); - } - } - } - if (ExtendVSymetric.getValue()) - { - if (prop->getName() == ExtendVNeg.getName() - || prop->getName() == ExtendVPos.getName()) - { - auto changedValue = dynamic_cast(prop); - if (changedValue) - { - ExtendVNeg.setValue(changedValue->getValue()); - ExtendVPos.setValue(changedValue->getValue()); - } - } - } - Part::Feature::onChanged(prop); -} - Extend::Extend() { ADD_PROPERTY(Face,(0)); @@ -190,6 +154,42 @@ App::DocumentObjectExecReturn *Extend::execute(void) return StdReturn; } +void Extend::onChanged(const App::Property* prop) +{ + // using a mutex and lock to protect a recursive calling when setting the new values + if (!lockOnChangeMutex.try_lock()) return; + lockOnChangeMutex.unlock(); + std::lock_guard lock(lockOnChangeMutex); + + if ( ExtendUSymetric.getValue() ) + { + if (prop->getName() == ExtendUNeg.getName() + || prop->getName() == ExtendUPos.getName()) + { + auto changedValue = dynamic_cast(prop); + if (changedValue) + { + ExtendUNeg.setValue(changedValue->getValue()); + ExtendUPos.setValue(changedValue->getValue()); + } + } + } + if (ExtendVSymetric.getValue()) + { + if (prop->getName() == ExtendVNeg.getName() + || prop->getName() == ExtendVPos.getName()) + { + auto changedValue = dynamic_cast(prop); + if (changedValue) + { + ExtendVNeg.setValue(changedValue->getValue()); + ExtendVPos.setValue(changedValue->getValue()); + } + } + } + Part::Spline::onChanged(prop); +} + void Extend::handleChangedPropertyName(Base::XMLReader &reader, const char * TypeName, const char *PropName)