Salome HOME
Copyrights update 2015.
[modules/smesh.git] / src / SMESHDS / SMESHDS_TSubMeshHolder.hxx
index b6fa226da3006dbaf377c5b004ff655652d299d3..eebb4247036e5425d75b8518494f5c9e9d75e9bc 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015  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
@@ -74,12 +74,20 @@ public:
   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