X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHDS%2FSMESHDS_TSubMeshHolder.hxx;h=52c9eb2c4ba9ada3315e23332504da861587d579;hp=b6fa226da3006dbaf377c5b004ff655652d299d3;hb=f3ce9fcd4028efd124456c5e55c4c4c7983cad9f;hpb=a3ee66b0371b361bf97d6261c61a35995b4595bb diff --git a/src/SMESHDS/SMESHDS_TSubMeshHolder.hxx b/src/SMESHDS/SMESHDS_TSubMeshHolder.hxx index b6fa226da..52c9eb2c4 100644 --- a/src/SMESHDS/SMESHDS_TSubMeshHolder.hxx +++ b/src/SMESHDS/SMESHDS_TSubMeshHolder.hxx @@ -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