Salome HOME
Copyright update 2022
[modules/smesh.git] / src / SMESH_I / SMESH_Gen_No_Session_i.cxx
index db261e7d419f675da56607298d50e581b41830a0..a7e66f3fac2b646feabbf431625d62154aec3189 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2021  CEA/DEN, EDF R&D
+// Copyright (C) 2021-2022  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -22,6 +22,7 @@
 #include "SALOME_KernelServices.hxx"
 #include "SALOME_Fake_NamingService.hxx"
 #include "SALOME_ModuleCatalog_impl.hxx"
+#include "Utils_SINGLETON.hxx"
 
 SMESH_Gen_No_Session_i::SMESH_Gen_No_Session_i( CORBA::ORB_ptr orb,
                                                 PortableServer::POA_ptr   poa,
@@ -29,12 +30,20 @@ SMESH_Gen_No_Session_i::SMESH_Gen_No_Session_i( CORBA::ORB_ptr orb,
                                                 const char*               instanceName,
                                                 const char*               interfaceName):SMESH_Gen_i(orb,poa,contId,instanceName,interfaceName,false)
 {
-  myNS = new SALOME_Fake_NamingService;
+  myNS = SINGLETON_<SALOME_Fake_NamingService>::Instance();
 }
 
 GEOM::GEOM_Gen_var SMESH_Gen_No_Session_i::GetGeomEngine( bool isShaper )
 {
-  CORBA::Object_var temp = KERNEL::RetrieveCompo(isShaper ? "SHAPERSTUDY" : "GEOM");
+  CORBA::Object_var temp;
+  try
+  {
+    temp = KERNEL::RetrieveCompo(isShaper ? "SHAPERSTUDY" : "GEOM");
+  }
+  catch(...)
+  {
+    return GEOM::GEOM_Gen::_nil();
+  }
   myGeomGen = GEOM::GEOM_Gen::_narrow( temp );
   return myGeomGen;
 }