Salome HOME
Win TC5.1.4 bugs 20861, 21984
authordmv <dmv@opencascade.com>
Fri, 10 Sep 2010 11:07:46 +0000 (11:07 +0000)
committerdmv <dmv@opencascade.com>
Fri, 10 Sep 2010 11:07:46 +0000 (11:07 +0000)
src/SMESH_I/SMESH_Group_i.hxx
src/SMESH_I/SMESH_Mesh_i.cxx

index 30ea828c0000e4a81cced48c26f45ce5d9bbe554..2ecbdb0b8e9a9ef479502388ed99bfba439f8106 100644 (file)
@@ -92,7 +92,7 @@ private:
   int myLocalID;
 
   void changeLocalId(int localId) { myLocalID = localId; }
-  friend void SMESH_Mesh_i::CheckGeomGroupModif();
+  friend SMESH_Mesh_i;
 };
 
 // ======
index db5a82c1123b6ab5bb98caca2f4dffe03f6360ce..3b15dbfbbafaffb967fb9f94b4cda54e0c8671ae 100644 (file)
@@ -121,11 +121,13 @@ SMESH_Mesh_i::~SMESH_Mesh_i()
   INFOS("~SMESH_Mesh_i");
   map<int, SMESH::SMESH_GroupBase_ptr>::iterator it;
   for ( it = _mapGroups.begin(); it != _mapGroups.end(); it++ ) {
+       if ( CORBA::is_nil( it->second ))
+               continue;
     SMESH_GroupBase_i* aGroup = dynamic_cast<SMESH_GroupBase_i*>( SMESH_Gen_i::GetServant( it->second ).in() );
     if ( aGroup ) {
       // this method is colled from destructor of group (PAL6331)
       //_impl->RemoveGroup( aGroup->GetLocalID() );
-      
+         aGroup->myMeshServant = 0;
       aGroup->Destroy();
     }
   }