X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_OverconstraintListener.cpp;h=94c06476b01604fed4e173d19bd8fbd564a53198;hb=3b02241a66e6be241eebbe70df42349293c5f4ab;hp=db2355e5f8087099c0837838e85e283226075889;hpb=88ee9b2b81cf93a6324336b57e30cc8a3a487499;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_OverconstraintListener.cpp b/src/PartSet/PartSet_OverconstraintListener.cpp index db2355e5f..94c06476b 100644 --- a/src/PartSet/PartSet_OverconstraintListener.cpp +++ b/src/PartSet/PartSet_OverconstraintListener.cpp @@ -238,12 +238,11 @@ void PartSet_OverconstraintListener::processEvent(const std::shared_ptrconstraints(); - std::set::const_iterator - anIt = myObjectsToRemove.begin(), aLast = myObjectsToRemove.end(); + std::set::const_iterator anIt = myObjectsToRemove.begin(); PartSet_Module* aModule = dynamic_cast(myWorkshop->module()); - for (; anIt != aLast; anIt++) + for (; anIt != myObjectsToRemove.end(); ) { ObjectPtr anObject = *anIt; FeaturePtr aFeature = std::dynamic_pointer_cast(anObject); @@ -251,7 +250,9 @@ void PartSet_OverconstraintListener::processEvent(const std::shared_ptrsketchReentranceMgr()->isLastAutoConstraint(*anIt)) - myObjectsToRemove.erase(*anIt); + anIt = myObjectsToRemove.erase(anIt); + else + anIt++; } if (myObjectsToRemove.empty())