From 1e2e4075fcd80b415c4bc90b412e8e7562c94684 Mon Sep 17 00:00:00 2001 From: mpv Date: Mon, 10 Oct 2016 17:20:18 +0300 Subject: [PATCH] Fix for the issue #1819 : ExtrusionCut is not updated when the sketch is modified after a boolean algorithm failed error. --- src/Model/Model_Update.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Model/Model_Update.cpp b/src/Model/Model_Update.cpp index a2f58ef2b..302dbd213 100755 --- a/src/Model/Model_Update.cpp +++ b/src/Model/Model_Update.cpp @@ -130,7 +130,8 @@ bool Model_Update::addModified(FeaturePtr theFeature, FeaturePtr theReason) { if (!aIsDisabled) { std::set > aNewSet; if (theFeature->data()->execState() == ModelAPI_StateMustBeUpdated || - theFeature->data()->execState() == ModelAPI_StateInvalidArgument) { // issue 1519 + theFeature->data()->execState() == ModelAPI_StateInvalidArgument || // issue 1519 + theFeature->data()->execState() == ModelAPI_StateExecFailed) { // do not forget that in this case all were the reasons aNewSet.insert(theFeature); } else { @@ -146,7 +147,8 @@ bool Model_Update::addModified(FeaturePtr theFeature, FeaturePtr theReason) { } #endif } else { // will be updated during the finish of the operation, or when it becomes enabled - if (theFeature->data()->execState() == ModelAPI_StateDone) + if (theFeature->data()->execState() == ModelAPI_StateDone || + theFeature->data()->execState() == ModelAPI_StateExecFailed) // fix issue 1819 theFeature->data()->execState(ModelAPI_StateMustBeUpdated); else return true; // do not need iteration deeply if it is already marked as modified or so -- 2.39.2