From 11b9ce4b9ccd6c30e1a38b8dd4867f2dcc0ecb6d Mon Sep 17 00:00:00 2001 From: mpv Date: Mon, 8 Apr 2019 15:01:23 +0300 Subject: [PATCH] Fix for the issue #2900 : Crash or freeze when activating the Partset --- src/Model/Model_AttributeSelection.cpp | 5 +++++ 1 file changed, 5 insertions(+) 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; -- 2.39.2