Salome HOME
To avoid memory leaks
[modules/smesh.git] / src / SMESH / SMESH_Mesh.cxx
index bba940ee6ccba7383f14c712418b8df6c9d4ab3e..1281522d98a55cb91523e4e0fb1e04a4891a0a06 100644 (file)
@@ -839,7 +839,10 @@ SMESH_subMesh *SMESH_Mesh::GetSubMesh(const TopoDS_Shape & aSubShape)
   if (( !index || index > _nbSubShapes ) && aSubShape.ShapeType() == TopAbs_COMPOUND ) {
     TopoDS_Iterator it( aSubShape );
     if ( it.More() )
+    {
       index = _myMeshDS->AddCompoundSubmesh( aSubShape, it.Value().ShapeType() );
+      if ( index > _nbSubShapes ) _nbSubShapes = index; // not to create sm for this group again
+    }
   }
 //   if ( !index )
 //     return NULL; // neither sub-shape nor a group