From f3574f89e45265d8c8cd0d322c8b3ba81bf60867 Mon Sep 17 00:00:00 2001 From: azv Date: Tue, 25 Aug 2015 11:05:20 +0300 Subject: [PATCH] Enlarge list of attributes stored in constraint Length for correct verification of update (issue #795) --- src/SketchSolver/SketchSolver_ConstraintLength.cpp | 4 +++- src/SketchSolver/SketchSolver_Group.cpp | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/SketchSolver/SketchSolver_ConstraintLength.cpp b/src/SketchSolver/SketchSolver_ConstraintLength.cpp index bf519342b..06d854d17 100644 --- a/src/SketchSolver/SketchSolver_ConstraintLength.cpp +++ b/src/SketchSolver/SketchSolver_ConstraintLength.cpp @@ -37,6 +37,8 @@ void SketchSolver_ConstraintLength::process() void SketchSolver_ConstraintLength::adjustConstraint() { // No need to store the line, which length is constrained - myFeatureMap.clear(); + // Upd: The line need to be stored to check that constraint + // is changed/unchanged during modifications in GUI + //myFeatureMap.clear(); } diff --git a/src/SketchSolver/SketchSolver_Group.cpp b/src/SketchSolver/SketchSolver_Group.cpp index 6b8326b02..08f594fe7 100644 --- a/src/SketchSolver/SketchSolver_Group.cpp +++ b/src/SketchSolver/SketchSolver_Group.cpp @@ -625,6 +625,9 @@ void SketchSolver_Group::removeConstraint(ConstraintPtr theConstraint) isFullyRemoved = false; break; } + if (aCIter == myConstraints.end()) + return; + if (isFullyRemoved) myConstraints.erase(aCIter); else if (aCIter != myConstraints.end() && -- 2.39.2