X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_MeshEditor.cxx;fp=src%2FSMESH%2FSMESH_MeshEditor.cxx;h=d06ce73062e66f972b1c4fb3220c5b04e0fb1362;hb=5e2c97c386dc03e51e072c7f9909803a86307872;hp=e9dbc5a32ed3b43bb4fa4cadc23a58de98833919;hpb=7f47e06b6cf4cd41902a43d5af10873325be774b;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index e9dbc5a32..d06ce7306 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -7168,8 +7168,11 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes, const SMDS_MeshNode* nToKeep = nnIt->second; TNodeNodeMap::iterator nnIt_i = nodeNodeMap.find( nToKeep ); while ( nnIt_i != nodeNodeMap.end() && nnIt_i->second != nnIt->second ) + { nToKeep = nnIt_i->second; - nnIt->second = nToKeep; + nnIt->second = nToKeep; + nnIt_i = nodeNodeMap.find( nToKeep ); + } } if ( theAvoidMakingHoles ) @@ -8526,6 +8529,7 @@ SMESH_MeshEditor::SewFreeBorder (const SMDS_MeshNode* theBordFirstNode, for ( ; groupIt != nodeGroupsToMerge.end(); groupIt++ ) { const list& nodes = *groupIt; + if ( nodes.front()->IsNull() ) continue; SMDS_ElemIteratorPtr segIt = nodes.front()->GetInverseElementIterator( SMDSAbs_Edge ); while ( segIt->more() ) segments.insert( segIt->next() );