-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
}
else
{
- if ( myVec.size() <= id )
+ if ( (int)myVec.size() <= id )
myVec.resize( id+1, (SUBMESH*) NULL );
myVec[ id ] = sm;
}
}
else
{
- return (SUBMESH*) ( id >= myVec.size() ? NULL : myVec[ id ]);
+ return (SUBMESH*) ( id >= (int)myVec.size() ? NULL : myVec[ id ]);
}
}
void DeleteAll()
{
for ( size_t i = 0; i < myVec.size(); ++i )
- delete myVec[i];
+ if ( SUBMESH* sm = myVec[i] )
+ {
+ myVec[i] = 0; // avoid access via Get(i)
+ delete sm;
+ }
myVec.clear();
typename std::map< int, SUBMESH* >::iterator i2sm = myMap.begin();
for ( ; i2sm != myMap.end(); ++i2sm )
- delete i2sm->second;
+ if ( SUBMESH* sm = i2sm->second )
+ {
+ i2sm->second = 0; // avoid access via Get(i)
+ delete sm;
+ }
myMap.clear();
}
int GetMinID() const