Salome HOME
PAL21729 TC5.1.4: Problem with saving study after "Convert to quadratic" operation V5_1_4rc1
authoreap <eap@opencascade.com>
Thu, 6 May 2010 13:00:52 +0000 (13:00 +0000)
committereap <eap@opencascade.com>
Thu, 6 May 2010 13:00:52 +0000 (13:00 +0000)
* Protect Save() from pb with submeshes with invalid id (without corresponding shape)

src/SMESH_I/SMESH_Gen_i.cxx

index 73588098f2ff96747b4446b8672b6db9d9645f2c..9e9b90e4bf2839cde28c01d4533f25d46c9d04db 100644 (file)
@@ -3048,6 +3048,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
                   if ( nbNodes == 0 ) continue;
                   
                   int aShapeID = (*itSubM).first;
+                  if ( aShapeID < 1 || aShapeID > mySMESHDSMesh->MaxShapeIndex() )
+                    continue;
                   int aShapeType = mySMESHDSMesh->IndexToShape( aShapeID ).ShapeType();
                   // write only SMDS_FacePosition and SMDS_EdgePosition
                   switch ( aShapeType ) {