Salome HOME
Memory leak hunting
[modules/smesh.git] / src / SMESH_I / SMESH_Gen_i_1.cxx
index 672477ccc89d3c2d1db25e68e06a326f50632859..3f463f1f5db14e3db37ee9c46ff2f3e33dace6aa 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2020  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
@@ -548,8 +548,11 @@ SALOMEDS::SComponent_ptr SMESH_Gen_i::PublishComponent()
   SALOMEDS::UseCaseBuilder_wrap useCaseBuilder = getStudyServant()->GetUseCaseBuilder();
 
   std::string compDataType = ComponentDataType(); // SMESH module's data type
-  std::string ior = SMESH_Gen_i::GetORB()->object_to_string( SMESH_Gen::_this() ); // IOR of this SMESH engine
-
+  std::string ior;
+  {
+    CORBA::String_var iorString = GetORB()->object_to_string( SMESH_Gen::_this() );
+    ior = std::string( iorString.in() ); // IOR of this SMESH engine
+  }
   // Find study component which corresponds to this SMESH engine
 
   SALOMEDS::SComponent_wrap father;
@@ -988,7 +991,7 @@ void SMESH_Gen_i::UpdateIcons( SMESH::SMESH_Mesh_ptr theMesh )
       {
         if ( isGroupOnFilter ) // GetTypes() can be very long on GroupOnFilter!
         {
-          SMESH::long_array_var nbByType = mesh_i->GetNbElementsByType();
+          SMESH::smIdType_array_var nbByType = mesh_i->GetNbElementsByType();
           isEmpty = ( nbByType[ grp->GetType() ] == 0 );
         }
         else