Salome HOME
Issue #591 - Highlight of the first argument of constraints
[modules/shaper.git] / src / SketchSolver / SketchSolver_ConstraintCoincidence.cpp
index 69eb1181afeeb34dd3248f4ef457b9fdc457be6b..532097e9935d3b2deac470366824d307ee446953 100644 (file)
@@ -170,6 +170,12 @@ bool SketchSolver_ConstraintCoincidence::remove(ConstraintPtr theConstraint)
       return false; // there is no constraint, which is specified to remove
     else {
       bool isEmpty = anExtraIt->first == SLVS_E_UNKNOWN;
+      if (!isEmpty) {
+        for (aPos = 0; aPos < (int)mySlvsConstraints.size(); aPos++)
+          if (mySlvsConstraints[aPos] == anExtraIt->first)
+            break;
+        aPos -= 1;
+      }
       myExtraCoincidence.erase(anExtraIt);
       if (isEmpty)
         return false;
@@ -199,6 +205,7 @@ bool SketchSolver_ConstraintCoincidence::remove(ConstraintPtr theConstraint)
       anExtraIt++;
     }
     // Find first non-extra conststraint
+    anExtraIt = myExtraCoincidence.begin();
     while (anExtraIt != myExtraCoincidence.end() && anExtraIt->first == SLVS_E_UNKNOWN)
       anExtraIt++;
     if (anExtraIt != myExtraCoincidence.end()) {