]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/SketchSolver/SketchSolver_ConstraintMirror.cpp
Salome HOME
Issue #2077: mirror constraint is destroyed
[modules/shaper.git] / src / SketchSolver / SketchSolver_ConstraintMirror.cpp
index b338983cadae47a19e8c0c6a78a4e8934452f601..80cb647d874e80cae6625eab771336bb4a49107a 100644 (file)
@@ -86,8 +86,7 @@ void SketchSolver_ConstraintMirror::process()
 void SketchSolver_ConstraintMirror::update()
 {
   cleanErrorMsg();
-  remove();
-  process();
+  adjustConstraint();
 }
 
 void SketchSolver_ConstraintMirror::adjustConstraint()
@@ -132,6 +131,16 @@ void SketchSolver_ConstraintMirror::blockEvents(bool isBlocked)
   for (; anIt != myFeatures.end(); ++anIt)
     (*anIt)->data()->blockSendAttributeUpdated(isBlocked);
 
+  AttributeRefListPtr aMirroredRefList =
+      myBaseConstraint->reflist(SketchPlugin_Constraint::ENTITY_C());
+  std::list<ObjectPtr> aMirroredList = aMirroredRefList->list();
+  std::list<ObjectPtr>::iterator aMIt = aMirroredList.begin();
+  for (; aMIt != aMirroredList.end(); ++aMIt) {
+    FeaturePtr aMirrored = ModelAPI_Feature::feature(*aMIt);
+    aMirrored->data()->blockSendAttributeUpdated(isBlocked);
+  }
+
+
   SketchSolver_Constraint::blockEvents(isBlocked);
 }