From: Anthony Geay Date: Mon, 24 Jan 2022 09:04:28 +0000 (+0100) Subject: [tuleap26948] : fix of Dump study does not work after study reopening X-Git-Tag: V9_9_0a1~8 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=8df37edc3d38a8630fac0ab37b5e557e4828e339;p=modules%2Fgeom.git [tuleap26948] : fix of Dump study does not work after study reopening --- diff --git a/src/GEOM_I/GEOM_Gen_Session_i.cc b/src/GEOM_I/GEOM_Gen_Session_i.cc index 6c8528309..ee2ae599f 100644 --- a/src/GEOM_I/GEOM_Gen_Session_i.cc +++ b/src/GEOM_I/GEOM_Gen_Session_i.cc @@ -50,6 +50,8 @@ SALOMEDS::Study_var GEOM_Gen_Session_i::getStudyServant() return aStudy; } +#include "GEOM_Gen_No_Session_i.hh" + extern "C" { GEOM_I_EXPORT PortableServer::ObjectId* GEOMEngine_factory(CORBA::ORB_ptr orb, @@ -58,7 +60,17 @@ extern "C" const char* instanceName, const char* interfaceName) { - GEOM_Gen_Session_i* myGEOM_Gen_i = new GEOM_Gen_Session_i(orb, poa, contId, instanceName, interfaceName); - return myGEOM_Gen_i->getId(); + CORBA::Object_var o = poa->id_to_reference(*contId); + Engines::Container_var cont = Engines::Container::_narrow(o); + if(cont->is_SSL_mode()) + { + GEOM_Gen_No_Session_i* myGEOM_Gen_i = new GEOM_Gen_No_Session_i(orb, poa, contId, instanceName, interfaceName); + return myGEOM_Gen_i->getId(); + } + else + { + GEOM_Gen_Session_i* myGEOM_Gen_i = new GEOM_Gen_Session_i(orb, poa, contId, instanceName, interfaceName); + return myGEOM_Gen_i->getId(); + } } }