Salome HOME
projects
/
modules
/
smesh.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
72598d1
)
In Split(), fix removal from a set being iterated, leading to exception at study...
author
eap
<eap@opencascade.com>
Wed, 26 Jan 2005 09:07:48 +0000
(09:07 +0000)
committer
eap
<eap@opencascade.com>
Wed, 26 Jan 2005 09:07:48 +0000
(09:07 +0000)
src/DriverMED/DriverMED_Family.cxx
patch
|
blob
|
history
diff --git
a/src/DriverMED/DriverMED_Family.cxx
b/src/DriverMED/DriverMED_Family.cxx
index 34ff2c20ba0c0c9bbb22c36aa0ba2a98b3e9c43b..d9ff5b249dcc2f766d2e8b65fa093af45b8e520a 100644
(file)
--- a/
src/DriverMED/DriverMED_Family.cxx
+++ b/
src/DriverMED/DriverMED_Family.cxx
@@
-350,14
+350,16
@@
void DriverMED_Family::Split (DriverMED_FamilyPtr by,
{
// Elements
set<const SMDS_MeshElement *>::iterator anIter = by->myElements.begin();
{
// Elements
set<const SMDS_MeshElement *>::iterator anIter = by->myElements.begin();
-
for (; anIter != by->myElements.end(); anIter++
)
+
while ( anIter != by->myElements.end()
)
{
if (myElements.find(*anIter) != myElements.end())
{
common->myElements.insert(*anIter);
myElements.erase(*anIter);
{
if (myElements.find(*anIter) != myElements.end())
{
common->myElements.insert(*anIter);
myElements.erase(*anIter);
- by->myElements.erase(
*anIter
);
+ by->myElements.erase(
anIter++
);
}
}
+ else
+ anIter++;
}
if (!common->IsEmpty())
}
if (!common->IsEmpty())