Salome HOME
remove memory leaks uninitalised memory read, etc...
authorptv <ptv@opencascade.com>
Fri, 14 Jul 2006 05:53:36 +0000 (05:53 +0000)
committerptv <ptv@opencascade.com>
Fri, 14 Jul 2006 05:53:36 +0000 (05:53 +0000)
noticed with Rational Purify on Windows

src/SMESHGUI/SMESHGUI.cxx
src/SMESH_I/SMESH_Filter_i.cxx
src/SMESH_I/SMESH_Gen_i.cxx
src/SMESH_I/SMESH_Gen_i_1.cxx
src/SMESH_I/SMESH_Hypothesis_i.cxx
src/SMESH_I/SMESH_Hypothesis_i.hxx
src/SMESH_I/SMESH_MEDMesh_i.cxx
src/SMESH_I/SMESH_Mesh_i.cxx
src/SMESH_I/SMESH_subMesh_i.cxx

index 809a98b2ab6c10ae0aba34491d830bc52b394a76..2581f8faa3889a8b0735ece4dead3e03c5bd80be 100644 (file)
@@ -2788,7 +2788,7 @@ QString SMESHGUI::engineIOR() const
 {
   CORBA::ORB_var anORB = getApp()->orb();
   CORBA::String_var anIOR = anORB->object_to_string(GetSMESHGen());
-  return anIOR.in();
+  return QString( anIOR.in() );
 }
 
 void SMESHGUI::contextMenuPopup( const QString& client, QPopupMenu* menu, QString& /*title*/ )
index 0b0b72ed2ff096867eb1f9b69e7b9ba29567798f..4d3c2dc9c167e45ef0a79b2322d9e5c3185a2ea4 100644 (file)
@@ -452,11 +452,6 @@ static char* getShapeNameByID ( const char* theID )
 Functor_i::Functor_i():
   SALOME::GenericObj_i( SMESH_Gen_i::GetPOA() )
 {
-  // registration moved from constructor of abstract class 
-  // to each ::Create* (creation of specific fucntor instance)
-  // to register fully declared this instance.
-  //PortableServer::ObjectId_var anObjectId =
-  //  SMESH_Gen_i::GetPOA()->activate_object( this );
 }
 
 Functor_i::~Functor_i()
@@ -1420,11 +1415,6 @@ FunctorType LogicalOR_i::GetFunctorType()
 FilterManager_i::FilterManager_i()
 : SALOME::GenericObj_i( SMESH_Gen_i::GetPOA() )
 {
-  // registration moved from constructor of abstract class 
-  // to each ::Create* (creation of specific fucntor instance)
-  // to register fully declared this instance.
-  //PortableServer::ObjectId_var anObjectId =
-  //  SMESH_Gen_i::GetPOA()->activate_object( this );
 }
 
 
@@ -1437,7 +1427,6 @@ FilterManager_i::~FilterManager_i()
 MinimumAngle_ptr FilterManager_i::CreateMinimumAngle()
 {
   SMESH::MinimumAngle_i* aServant = new SMESH::MinimumAngle_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::MinimumAngle_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateMinimumAngle()";
   return anObj._retn();
@@ -1447,7 +1436,6 @@ MinimumAngle_ptr FilterManager_i::CreateMinimumAngle()
 AspectRatio_ptr FilterManager_i::CreateAspectRatio()
 {
   SMESH::AspectRatio_i* aServant = new SMESH::AspectRatio_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::AspectRatio_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateAspectRatio()";
   return anObj._retn();
@@ -1457,7 +1445,6 @@ AspectRatio_ptr FilterManager_i::CreateAspectRatio()
 AspectRatio3D_ptr FilterManager_i::CreateAspectRatio3D()
 {
   SMESH::AspectRatio3D_i* aServant = new SMESH::AspectRatio3D_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::AspectRatio3D_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateAspectRatio3D()";
   return anObj._retn();
@@ -1467,7 +1454,6 @@ AspectRatio3D_ptr FilterManager_i::CreateAspectRatio3D()
 Warping_ptr FilterManager_i::CreateWarping()
 {
   SMESH::Warping_i* aServant = new SMESH::Warping_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::Warping_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateWarping()";
   return anObj._retn();
@@ -1477,7 +1463,6 @@ Warping_ptr FilterManager_i::CreateWarping()
 Taper_ptr FilterManager_i::CreateTaper()
 {
   SMESH::Taper_i* aServant = new SMESH::Taper_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::Taper_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateTaper()";
   return anObj._retn();
@@ -1487,7 +1472,6 @@ Taper_ptr FilterManager_i::CreateTaper()
 Skew_ptr FilterManager_i::CreateSkew()
 {
   SMESH::Skew_i* aServant = new SMESH::Skew_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::Skew_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateSkew()";
   return anObj._retn();
@@ -1497,7 +1481,6 @@ Skew_ptr FilterManager_i::CreateSkew()
 Area_ptr FilterManager_i::CreateArea()
 {
   SMESH::Area_i* aServant = new SMESH::Area_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::Area_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateArea()";
   return anObj._retn();
@@ -1507,7 +1490,6 @@ Area_ptr FilterManager_i::CreateArea()
 Volume3D_ptr FilterManager_i::CreateVolume3D()
 {
   SMESH::Volume3D_i* aServant = new SMESH::Volume3D_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::Volume3D_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateVolume3D()";
   return anObj._retn();
@@ -1517,7 +1499,6 @@ Volume3D_ptr FilterManager_i::CreateVolume3D()
 Length_ptr FilterManager_i::CreateLength()
 {
   SMESH::Length_i* aServant = new SMESH::Length_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::Length_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateLength()";
   return anObj._retn();
@@ -1526,7 +1507,6 @@ Length_ptr FilterManager_i::CreateLength()
 Length2D_ptr FilterManager_i::CreateLength2D()
 {
   SMESH::Length2D_i* aServant = new SMESH::Length2D_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::Length2D_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateLength2D()";
   return anObj._retn();
@@ -1535,7 +1515,6 @@ Length2D_ptr FilterManager_i::CreateLength2D()
 MultiConnection_ptr FilterManager_i::CreateMultiConnection()
 {
   SMESH::MultiConnection_i* aServant = new SMESH::MultiConnection_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::MultiConnection_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateMultiConnection()";
   return anObj._retn();
@@ -1544,7 +1523,6 @@ MultiConnection_ptr FilterManager_i::CreateMultiConnection()
 MultiConnection2D_ptr FilterManager_i::CreateMultiConnection2D()
 {
   SMESH::MultiConnection2D_i* aServant = new SMESH::MultiConnection2D_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::MultiConnection2D_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateMultiConnection2D()";
   return anObj._retn();
@@ -1553,7 +1531,6 @@ MultiConnection2D_ptr FilterManager_i::CreateMultiConnection2D()
 BelongToGeom_ptr FilterManager_i::CreateBelongToGeom()
 {
   SMESH::BelongToGeom_i* aServant = new SMESH::BelongToGeom_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::BelongToGeom_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateBelongToGeom()";
   return anObj._retn();
@@ -1562,7 +1539,6 @@ BelongToGeom_ptr FilterManager_i::CreateBelongToGeom()
 BelongToPlane_ptr FilterManager_i::CreateBelongToPlane()
 {
   SMESH::BelongToPlane_i* aServant = new SMESH::BelongToPlane_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::BelongToPlane_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateBelongToPlane()";
   return anObj._retn();
@@ -1571,7 +1547,6 @@ BelongToPlane_ptr FilterManager_i::CreateBelongToPlane()
 BelongToCylinder_ptr FilterManager_i::CreateBelongToCylinder()
 {
   SMESH::BelongToCylinder_i* aServant = new SMESH::BelongToCylinder_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::BelongToCylinder_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateBelongToCylinder()";
   return anObj._retn();
@@ -1580,7 +1555,6 @@ BelongToCylinder_ptr FilterManager_i::CreateBelongToCylinder()
 LyingOnGeom_ptr FilterManager_i::CreateLyingOnGeom()
 {
   SMESH::LyingOnGeom_i* aServant = new SMESH::LyingOnGeom_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::LyingOnGeom_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateLyingOnGeom()";
   return anObj._retn();
@@ -1589,7 +1563,6 @@ LyingOnGeom_ptr FilterManager_i::CreateLyingOnGeom()
 FreeBorders_ptr FilterManager_i::CreateFreeBorders()
 {
   SMESH::FreeBorders_i* aServant = new SMESH::FreeBorders_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::FreeBorders_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateFreeBorders()";
   return anObj._retn();
@@ -1598,7 +1571,6 @@ FreeBorders_ptr FilterManager_i::CreateFreeBorders()
 FreeEdges_ptr FilterManager_i::CreateFreeEdges()
 {
   SMESH::FreeEdges_i* aServant = new SMESH::FreeEdges_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::FreeEdges_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateFreeEdges()";
   return anObj._retn();
@@ -1607,7 +1579,6 @@ FreeEdges_ptr FilterManager_i::CreateFreeEdges()
 RangeOfIds_ptr FilterManager_i::CreateRangeOfIds()
 {
   SMESH::RangeOfIds_i* aServant = new SMESH::RangeOfIds_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::RangeOfIds_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateRangeOfIds()";
   return anObj._retn();
@@ -1616,7 +1587,6 @@ RangeOfIds_ptr FilterManager_i::CreateRangeOfIds()
 BadOrientedVolume_ptr FilterManager_i::CreateBadOrientedVolume()
 {
   SMESH::BadOrientedVolume_i* aServant = new SMESH::BadOrientedVolume_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::BadOrientedVolume_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateBadOrientedVolume()";
   return anObj._retn();
@@ -1625,7 +1595,6 @@ BadOrientedVolume_ptr FilterManager_i::CreateBadOrientedVolume()
 LessThan_ptr FilterManager_i::CreateLessThan()
 {
   SMESH::LessThan_i* aServant = new SMESH::LessThan_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::LessThan_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateLessThan()";
   return anObj._retn();
@@ -1635,7 +1604,6 @@ LessThan_ptr FilterManager_i::CreateLessThan()
 MoreThan_ptr FilterManager_i::CreateMoreThan()
 {
   SMESH::MoreThan_i* aServant = new SMESH::MoreThan_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::MoreThan_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateMoreThan()";
   return anObj._retn();
@@ -1644,7 +1612,6 @@ MoreThan_ptr FilterManager_i::CreateMoreThan()
 EqualTo_ptr FilterManager_i::CreateEqualTo()
 {
   SMESH::EqualTo_i* aServant = new SMESH::EqualTo_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::EqualTo_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateEqualTo()";
   return anObj._retn();
@@ -1654,7 +1621,6 @@ EqualTo_ptr FilterManager_i::CreateEqualTo()
 LogicalNOT_ptr FilterManager_i::CreateLogicalNOT()
 {
   SMESH::LogicalNOT_i* aServant = new SMESH::LogicalNOT_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::LogicalNOT_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateLogicalNOT()";
   return anObj._retn();
@@ -1664,7 +1630,6 @@ LogicalNOT_ptr FilterManager_i::CreateLogicalNOT()
 LogicalAND_ptr FilterManager_i::CreateLogicalAND()
 {
   SMESH::LogicalAND_i* aServant = new SMESH::LogicalAND_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::LogicalAND_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateLogicalAND()";
   return anObj._retn();
@@ -1674,7 +1639,6 @@ LogicalAND_ptr FilterManager_i::CreateLogicalAND()
 LogicalOR_ptr FilterManager_i::CreateLogicalOR()
 {
   SMESH::LogicalOR_i* aServant = new SMESH::LogicalOR_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::LogicalOR_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateLogicalOR()";
   return anObj._retn();
@@ -1683,7 +1647,6 @@ LogicalOR_ptr FilterManager_i::CreateLogicalOR()
 Filter_ptr FilterManager_i::CreateFilter()
 {
   SMESH::Filter_i* aServant = new SMESH::Filter_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::Filter_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateFilter()";
   return anObj._retn();
@@ -1692,7 +1655,6 @@ Filter_ptr FilterManager_i::CreateFilter()
 FilterLibrary_ptr FilterManager_i::LoadLibrary( const char* aFileName )
 {
   SMESH::FilterLibrary_i* aServant = new SMESH::FilterLibrary_i( aFileName );
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::FilterLibrary_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".LoadLibrary("<<aFileName<<")";
   return anObj._retn();
@@ -1701,7 +1663,6 @@ FilterLibrary_ptr FilterManager_i::LoadLibrary( const char* aFileName )
 FilterLibrary_ptr FilterManager_i::CreateLibrary()
 {
   SMESH::FilterLibrary_i* aServant = new SMESH::FilterLibrary_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aServant );
   SMESH::FilterLibrary_var anObj = aServant->_this();
   TPythonDump()<<aServant<<" = "<<this<<".CreateLibrary()";
   return anObj._retn();
@@ -1724,7 +1685,6 @@ CORBA::Boolean FilterManager_i::DeleteLibrary( const char* aFileName )
 SMESH::FilterManager_ptr SMESH_Gen_i::CreateFilterManager()
 {
   SMESH::FilterManager_i* aFilter = new SMESH::FilterManager_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aFilter );
   SMESH::FilterManager_var anObj = aFilter->_this();
   return anObj._retn();
 }
@@ -2023,7 +1983,6 @@ CORBA::Boolean Filter_i::SetCriteria( const SMESH::Filter::Criteria& theCriteria
     myPredicate->Destroy();
 
   SMESH::FilterManager_i* aFilter = new SMESH::FilterManager_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aFilter );
   FilterManager_ptr aFilterMgr = aFilter->_this();
 
   // CREATE two lists ( PREDICATES  and LOG OP )
@@ -2575,7 +2534,6 @@ FilterLibrary_i::FilterLibrary_i( const char* theFileName )
 {
   myFileName = strdup( theFileName );
   SMESH::FilterManager_i* aFilterMgr = new SMESH::FilterManager_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aFilterMgr );
   myFilterMgr = aFilterMgr->_this();
 
   LDOMParser aParser;
@@ -2608,7 +2566,6 @@ FilterLibrary_i::FilterLibrary_i()
 {
   myFileName = 0;
   SMESH::FilterManager_i* aFilter = new SMESH::FilterManager_i();
-  SMESH_Gen_i::GetPOA()->activate_object( aFilter );
   myFilterMgr = aFilter->_this();
 
   myDoc = LDOM_Document::createDocument( LDOMString() );
index 8a3a5fb2737834ec178221bd97c2d2b9917017ae..185e2fc687292b54edc988bc549a2ac78c5b7de4 100644 (file)
@@ -384,8 +384,6 @@ SMESH::SMESH_Hypothesis_ptr SMESH_Gen_i::createHypothesis(const char* theHypName
     if(MYDEBUG) MESSAGE("Create Hypothesis " << theHypName);
     myHypothesis_i =
       myHypCreatorMap[string(theHypName)]->Create (myPoa, GetCurrentStudyID(), &myGen);
-    // _CS_gbo Explicit activation (no longer made in the constructor).
-    myHypothesis_i->Activate();
     myHypothesis_i->SetLibName(aPlatformLibName/*theLibName*/); // for persistency assurance
   }
   catch (SALOME_Exception& S_ex)
@@ -1302,7 +1300,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
            if ( myImpl ) {
              string hypname = string( myHyp->GetName() );
              string libname = string( myHyp->GetLibName() );
-             int    id      = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
+        CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+             int    id      = myStudyContext->findId( string( objStr.in() ) );
              string hypdata = string( myImpl->SaveTo() );
 
              // for each hypothesis create HDF group basing on its id
@@ -1355,7 +1354,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
            if ( myImpl ) {
              string hypname = string( myHyp->GetName() );
              string libname = string( myHyp->GetLibName() );
-             int    id      = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
+        CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+             int    id      = myStudyContext->findId( string( objStr.in() ) );
              string hypdata = string( myImpl->SaveTo() );
 
              // for each algorithm create HDF group basing on its id
@@ -1398,7 +1398,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
         if ( !myMesh->_is_nil() ) {
          SMESH_Mesh_i* myImpl = dynamic_cast<SMESH_Mesh_i*>( GetServant( myMesh ).in() );
          if ( myImpl ) {
-           int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
+      CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+      int id = myStudyContext->findId( string( objStr.in() ) );
            ::SMESH_Mesh& myLocMesh = myImpl->GetImpl();
            SMESHDS_Mesh* mySMESHDSMesh = myLocMesh.GetMeshDS();
 
@@ -1467,7 +1468,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
 
                  //string myRefOnObject = myRefOnHyp->GetID();
                  CORBA::Object_var anObject = SObjectToObject( myRefOnHyp );
-                 int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
+      CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+      int id = myStudyContext->findId( string( objStr.in() ) );
                  //if ( myRefOnObject.length() > 0 ) {
                  //aSize[ 0 ] = myRefOnObject.length() + 1;
                  char hypName[ 30 ], hypId[ 30 ];
@@ -1509,7 +1511,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
 
                  //string myRefOnObject = myRefOnAlgo->GetID();
                  CORBA::Object_var anObject = SObjectToObject( myRefOnAlgo );
-                 int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
+      CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+      int id = myStudyContext->findId( string( objStr.in() ) );
                  //if ( myRefOnObject.length() > 0 ) {
                  //aSize[ 0 ] = myRefOnObject.length() + 1;
                  char algoName[ 30 ], algoId[ 30 ];
@@ -1599,7 +1602,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
                  if ( !CORBA::is_nil( anSubObject ))
                   {
                    SMESH::SMESH_subMesh_var mySubMesh = SMESH::SMESH_subMesh::_narrow( anSubObject ) ;
-                   int subid = myStudyContext->findId( string( GetORB()->object_to_string( anSubObject ) ) );
+        CORBA::String_var objStr = GetORB()->object_to_string( anSubObject );
+        int subid = myStudyContext->findId( string( objStr.in() ) );
                      
                    // for each mesh open the HDF group basing on its id
                    char submeshGrpName[ 30 ];
@@ -1636,7 +1640,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
                        if ( ok ) {
                          //string myRefOnObject = myRefOnHyp->GetID();
                          CORBA::Object_var anObject = SObjectToObject( myRefOnHyp );
-                         int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
+        CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+        int id = myStudyContext->findId( string( objStr.in() ) );
                          //if ( myRefOnObject.length() > 0 ) {
                          //aSize[ 0 ] = myRefOnObject.length() + 1;
                          char hypName[ 30 ], hypId[ 30 ];
@@ -1670,7 +1675,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
                        if ( ok ) {
                          //string myRefOnObject = myRefOnAlgo->GetID();
                          CORBA::Object_var anObject = SObjectToObject( myRefOnAlgo );
-                         int id = myStudyContext->findId( string( GetORB()->object_to_string( anObject ) ) );
+        CORBA::String_var objStr = GetORB()->object_to_string( anObject );
+        int id = myStudyContext->findId( string( objStr.in() ) );
                          //if ( myRefOnObject.length() > 0 ) {
                          //aSize[ 0 ] = myRefOnObject.length() + 1;
                          char algoName[ 30 ], algoId[ 30 ];
@@ -1727,7 +1733,8 @@ SALOMEDS::TMPFile* SMESH_Gen_i::Save( SALOMEDS::SComponent_ptr theComponent,
                    if ( !myGroupImpl )
                      continue;
 
-                   int anId = myStudyContext->findId( string( GetORB()->object_to_string( aSubObject ) ) );
+        CORBA::String_var objStr = GetORB()->object_to_string( aSubObject );
+        int anId = myStudyContext->findId( string( objStr.in() ) );
                    
                    // For each group, create a dataset named "Group <group_persistent_id>"
                     // and store the group's user name into it
@@ -2148,8 +2155,8 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
            SMESH_Hypothesis_i* myImpl = dynamic_cast<SMESH_Hypothesis_i*>( GetServant( myHyp ).in() );
            if ( myImpl ) {
              myImpl->LoadFrom( hypdata.c_str() );
-             string iorString = GetORB()->object_to_string( myHyp );
-             int newId = myStudyContext->findId( iorString );
+        CORBA::String_var iorString = GetORB()->object_to_string( myHyp );
+             int newId = myStudyContext->findId( string( iorString.in() ) );
              myStudyContext->mapOldToNew( id, newId );
            }
            else
@@ -2246,8 +2253,8 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
            SMESH_Hypothesis_i* myImpl = dynamic_cast<SMESH_Hypothesis_i*>( GetServant( myHyp ).in() );
            if ( myImpl ) {
              myImpl->LoadFrom( hypdata.c_str() );
-             string iorString = GetORB()->object_to_string( myHyp );
-             int newId = myStudyContext->findId( iorString );
+        CORBA::String_var iorString = GetORB()->object_to_string( myHyp );
+             int newId = myStudyContext->findId( string( iorString.in() ) );
              myStudyContext->mapOldToNew( id, newId );
            }
            else
@@ -2286,8 +2293,8 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
          SMESH_Mesh_i* myNewMeshImpl = dynamic_cast<SMESH_Mesh_i*>( GetServant( myNewMesh ).in() );
           if ( !myNewMeshImpl )
            continue;
-         string iorString = GetORB()->object_to_string( myNewMesh );
-         int newId = myStudyContext->findId( iorString );
+          CORBA::String_var iorString = GetORB()->object_to_string( myNewMesh );
+         int newId = myStudyContext->findId( string( iorString.in() ) );
          myStudyContext->mapOldToNew( id, newId );
          
          ::SMESH_Mesh& myLocMesh = myNewMeshImpl->GetImpl();
@@ -2472,8 +2479,8 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
                             ( myNewMeshImpl->createSubMesh( aSubShapeObject ) );
                        if ( aSubMesh->_is_nil() )
                          continue;
-                       string iorSubString = GetORB()->object_to_string( aSubMesh );
-                       int newSubId = myStudyContext->findId( iorSubString );
+      CORBA::String_var iorSubString = GetORB()->object_to_string( aSubMesh );
+                       int newSubId = myStudyContext->findId( string( iorSubString.in() ) );
                        myStudyContext->mapOldToNew( subid, newSubId );
                      }
                    }
@@ -2770,8 +2777,8 @@ bool SMESH_Gen_i::Load( SALOMEDS::SComponent_ptr theComponent,
                  if ( aNewGroup->_is_nil() )
                    continue;
 
-                 string iorSubString = GetORB()->object_to_string( aNewGroup );
-                 int newSubId = myStudyContext->findId( iorSubString );
+      CORBA::String_var iorSubString = GetORB()->object_to_string( aNewGroup );
+                 int newSubId = myStudyContext->findId( string( iorSubString.in() ) );
                  myStudyContext->mapOldToNew( subid, newSubId );
 
                  SMESH_GroupBase_i* aGroupImpl =
@@ -2925,8 +2932,8 @@ int SMESH_Gen_i::RegisterObject(CORBA::Object_ptr theObject)
 {
   StudyContext* myStudyContext = GetCurrentStudyContext();
   if ( myStudyContext && !CORBA::is_nil( theObject )) {
-    string iorString = GetORB()->object_to_string( theObject );
-    return myStudyContext->addObject( iorString );
+    CORBA::String_var iorString = GetORB()->object_to_string( theObject );
+    return myStudyContext->addObject( string( iorString.in() ) );
   }
   return 0;
 }
index 2021f22e2df7a4c43c62934b4ee3757577eb3a6e..2ff4d88747cf9de337bd22c014ff4fdf9120cafc 100644 (file)
@@ -180,7 +180,10 @@ SALOMEDS::SObject_ptr SMESH_Gen_i::ObjectToSObject(SALOMEDS::Study_ptr theStudy,
 {
   SALOMEDS::SObject_var aSO;
   if ( !CORBA::is_nil( theStudy ) && !CORBA::is_nil( theObject ))
-    aSO = theStudy->FindObjectIOR( SMESH_Gen_i::GetORB()->object_to_string( theObject ) );
+  {
+    CORBA::String_var objStr = SMESH_Gen_i::GetORB()->object_to_string( theObject );
+    aSO = theStudy->FindObjectIOR( objStr.in() );
+  }
   return aSO._retn();
 }
 
@@ -253,8 +256,8 @@ static SALOMEDS::SObject_ptr publish(SALOMEDS::Study_ptr   theStudy,
   SALOMEDS::GenericAttribute_var anAttr;
   if ( !CORBA::is_nil( theIOR )) {
     anAttr = aStudyBuilder->FindOrCreateAttribute( SO, "AttributeIOR" );
-    SALOMEDS::AttributeIOR::_narrow(anAttr)->SetValue
-      ( SMESH_Gen_i::GetORB()->object_to_string( theIOR ) );
+    CORBA::String_var objStr = SMESH_Gen_i::GetORB()->object_to_string( theIOR );
+    SALOMEDS::AttributeIOR::_narrow(anAttr)->SetValue( objStr.in() );
   }
   if ( thePixMap ) {
     anAttr  = aStudyBuilder->FindOrCreateAttribute( SO, "AttributePixMap" );
index 1ece6c6f1f87f025be74627c9e520aca6635a952..fedc0772290249a70a320aa3298f59f6d6831f12 100644 (file)
@@ -46,25 +46,10 @@ SMESH_Hypothesis_i::SMESH_Hypothesis_i( PortableServer::POA_ptr thePOA )
 {
   MESSAGE( "SMESH_Hypothesis_i::SMESH_Hypothesis_i / Début" );
   myBaseImpl = 0;
-  // _CS_gbo This instruction fails
-  // thePOA->activate_object( this );
-  // _CS_gbo I keep the POA reference to activate the object in the future.
-  myPOA = thePOA;
   
   MESSAGE( "SMESH_Hypothesis_i::SMESH_Hypothesis_i / Fin" );
 };
 
-//=============================================================================
-/*!
- *  SMESH_Hypothesis_i::Activate()
- *
- *  Activation of the object
- */
-//=============================================================================
-void SMESH_Hypothesis_i::Activate() {
-  myPOA->activate_object( this );
-}
-
 //=============================================================================
 /*!
  *  SMESH_Hypothesis_i::~SMESH_Hypothesis_i
index fed1426c20b66a3ba1d7e1bad5cf66490e509c2d..634e245c6c267436452ca2309d6d16047b8b05d3 100644 (file)
@@ -69,19 +69,12 @@ public:
   // Get implementation
   ::SMESH_Hypothesis* GetImpl();
   
-  // _CS_gbo_ Activate the object using the POA
-  void Activate();
-
   // Persistence
   virtual char* SaveTo();
   virtual void  LoadFrom( const char* theStream );
   
 protected:
   ::SMESH_Hypothesis* myBaseImpl;    // base hypothesis implementation
-
-  // _CS_gbo_070505 To keep the reference and delayed the activation
-  // in the methode Activate().
-  PortableServer::POA_ptr myPOA;
 };
 
 // ======================================================
index 3840b27fa8cb8c7df163e7941cc162e95bd5c69f..b7f15cf172f231e52a2d7f083170af5c59fc75c0 100644 (file)
@@ -863,8 +863,8 @@ void SMESH_MEDMesh_i::addInStudy(SALOMEDS::Study_ptr myStudy,
         * ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
         * ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting()) ;
         * CORBA::ORB_var &orb = init(0,0);
-        * string iorStr = orb->object_to_string(myIor);
-        * //myBuilder->AddAttribute(newObj,SALOMEDS::IOR,iorStr.c_str());
+        * CORBA::String_var iorStr = orb->object_to_string(myIor);
+        * //myBuilder->AddAttribute(newObj,SALOMEDS::IOR,iorStr.in());
         * SALOMEDS::AttributeIOR_var aIOR = SALOMEDS::AttributeIOR::_narrow(
         * myBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"));
         * aIOR->SetValue(iorStr.c_str());
index 367eda450af834afe338271f2f4eb1b58b9bf1f8..f6896eaf11f53327b3cdd39e0a982e6cf7650f42 100644 (file)
@@ -94,7 +94,6 @@ SMESH_Mesh_i::SMESH_Mesh_i( PortableServer::POA_ptr thePOA,
   _gen_i = gen_i;
   _id = myIdGenerator++;
   _studyId = studyId;
-  thePOA->activate_object( this );
 }
 
 //=============================================================================
index d8f5c2bb8d2bd528d8d2d799cffbc41e31076797..a073dfd7a0b2c70732abcad424ef84225e9ac116 100644 (file)
@@ -70,7 +70,6 @@ SMESH_subMesh_i::SMESH_subMesh_i( PortableServer::POA_ptr thePOA,
   _gen_i = gen_i;
   _mesh_i = mesh_i;
   _localId = localId;
-  thePOA->activate_object( this );
   // ****
 }
 //=============================================================================