X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_subMesh.cxx;h=a3b12c77e5da711defef4ca81fc533a19f275ea2;hp=57d0d338df5cd790b315ef4e456dcedae0a77b18;hb=5552aec787c289730a35843d295811cfdadaacd3;hpb=db7a4ffa0c087b5af172883702468d207f29480b diff --git a/src/SMESH/SMESH_subMesh.cxx b/src/SMESH/SMESH_subMesh.cxx index 57d0d338d..a3b12c77e 100644 --- a/src/SMESH/SMESH_subMesh.cxx +++ b/src/SMESH/SMESH_subMesh.cxx @@ -2592,14 +2592,13 @@ const std::vector< SMESH_subMesh * > & SMESH_subMesh::GetAncestors() const SMESH_subMesh* me = const_cast< SMESH_subMesh* >( this ); me->_ancestors.reserve( ancShapes.Extent() ); - TopTools_MapOfShape map; - // assure that all sub-meshes exist TopoDS_Shape mainShape = _father->GetShapeToMesh(); - if (!mainShape.IsNull()) - { - _father->GetSubMesh( _father->GetShapeToMesh() )->DependsOn(); - } + if ( !mainShape.IsNull() ) + _father->GetSubMesh( mainShape )->DependsOn(); + + TopTools_MapOfShape map; + for ( TopTools_ListIteratorOfListOfShape it( ancShapes ); it.More(); it.Next() ) if ( SMESH_subMesh* sm = _father->GetSubMeshContaining( it.Value() )) if ( map.Add( it.Value() ))