]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
PPGP
authoreap <eap@opencascade.com>
Fri, 29 Nov 2013 08:45:55 +0000 (08:45 +0000)
committereap <eap@opencascade.com>
Fri, 29 Nov 2013 08:45:55 +0000 (08:45 +0000)
In TSearchersDeleter fix setting/removing the event listener

src/SMESH_I/SMESH_MeshEditor_i.cxx

index 359b865e15bf3e8dc74e8ab2fc654eb25c733576..69bf34ec12d21a49fba0617182175f699810c31c 100644 (file)
@@ -227,22 +227,22 @@ namespace MeshEditor_I {
         }
         myMesh = mesh;
         myMeshPartIOR = meshPartIOR;
-        if ( SMESH_subMesh* myMainSubMesh = mesh->GetSubMeshContaining(1) ) {
-          const TDependsOnMap & subMeshes = myMainSubMesh->DependsOn();
-          TDependsOnMap::const_iterator sm;
-          for (sm = subMeshes.begin(); sm != subMeshes.end(); sm++)
-            sm->second->SetEventListener( this, 0, sm->second );
+        SMESH_subMesh* sm = mesh->GetSubMesh( mesh->GetShapeToMesh() );
+        SMESH_subMeshIteratorPtr smIt = sm->getDependsOnIterator( /*includeSelf=*/true );
+        while ( smIt->more() )
+        {
+          sm = smIt->next();
+          sm->SetEventListener( this, 0, sm );
         }
       }
     }
     //!<  delete self from all submeshes
     void Unset(SMESH_Mesh* mesh)
     {
-      if ( SMESH_subMesh* myMainSubMesh = mesh->GetSubMeshContaining(1) ) {
-        const TDependsOnMap & subMeshes = myMainSubMesh->DependsOn();
-        TDependsOnMap::const_iterator sm;
-        for (sm = subMeshes.begin(); sm != subMeshes.end(); sm++)
-          sm->second->DeleteEventListener( this );
+      if ( SMESH_subMesh* sm = mesh->GetSubMeshContaining(1) ) {
+        SMESH_subMeshIteratorPtr smIt = sm->getDependsOnIterator( /*includeSelf=*/true );
+        while ( smIt->more() )
+          smIt->next()->DeleteEventListener( this );
       }
       myMesh = 0;
     }
@@ -1747,7 +1747,7 @@ CORBA::Boolean SMESH_MeshEditor_i::TriToQuad (const SMESH::long_array &   IDsOfE
   if ( !myIsPreviewMode ) {
     // Update Python script
     TPythonDump() << "isDone = " << this << ".TriToQuad( "
-                 << IDsOfElements << ", " << aNumericalFunctor << ", " << TVar( MaxAngle ) << " )";
+                  << IDsOfElements << ", " << aNumericalFunctor << ", " << TVar( MaxAngle ) << " )";
   }
 
   bool stat = getEditor().TriToQuad( *workElements, aCrit, MaxAngle );
@@ -1785,7 +1785,7 @@ CORBA::Boolean SMESH_MeshEditor_i::TriToQuadObject (SMESH::SMESH_IDSource_ptr
 
     // Update Python script
     aTPythonDump << "isDone = " << this << ".TriToQuadObject("
-                << theObject << ", " << aNumericalFunctor << ", " << TVar( MaxAngle ) << " )";
+                 << theObject << ", " << aNumericalFunctor << ", " << TVar( MaxAngle ) << " )";
   }
 
   return isDone;