From: mpv Date: Mon, 8 Apr 2019 12:01:23 +0000 (+0300) Subject: Fix for the issue #2900 : Crash or freeze when activating the Partset X-Git-Tag: V9_3_0rc1^2~6 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=11b9ce4b9ccd6c30e1a38b8dd4867f2dcc0ecb6d;p=modules%2Fshaper.git Fix for the issue #2900 : Crash or freeze when activating the Partset --- diff --git a/src/Model/Model_AttributeSelection.cpp b/src/Model/Model_AttributeSelection.cpp index e540e3e66..3d325a688 100644 --- a/src/Model/Model_AttributeSelection.cpp +++ b/src/Model/Model_AttributeSelection.cpp @@ -1443,7 +1443,12 @@ void Model_AttributeSelection::updateInHistory(bool& theRemove) continue; FeaturePtr aRefFeat = std::dynamic_pointer_cast((*aRef)->owner()); + if (aRefFeat.get() && aRefFeat != owner() && aRefFeat->firstResult().get()) { + // check the reference is concealed: #2900 + ModelAPI_ValidatorsFactory* aValidators = ModelAPI_Session::get()->validators(); + if (!aValidators->isConcealed(aRefFeat->getKind(), (*aRef)->id())) + continue; FeaturePtr aThisFeature = std::dynamic_pointer_cast(owner()); if (!aDoc->isLaterByDep(aRefFeat, aThisFeature)) { // found better feature aFoundNewContext = true;