]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Fixed BUG with omniORB refCount. see file comment
authorabd <abd@opencascade.com>
Fri, 21 Apr 2006 12:45:44 +0000 (12:45 +0000)
committerabd <abd@opencascade.com>
Fri, 21 Apr 2006 12:45:44 +0000 (12:45 +0000)
src/GEOM_I/GEOM_IOperations_i.cc

index 8170be2f79ed63fdde55ed0b562ef0232872f1cc..b0f652b2e72bdc89214ac6ce9f45dc2799a2c56c 100644 (file)
 GEOM_IOperations_i::GEOM_IOperations_i(PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine, ::GEOM_IOperations* theImpl)
 :SALOME::GenericObj_i( thePOA ), _impl(theImpl), _engine(theEngine)
 {
-  thePOA->activate_object(this);
+  // Win32 porting: the next line is dangerous - GEOM_IOperations_i is an intermediate 
+  // base class, therefore <this> is not completely constructed here ->
+  // passing it to activate_object() leads to unpredictable behavior 
+  // resulted from memory corruption ( Rational Purify reports ABR errors ).
+  // Moreover, all GEOM_IxxxOperation_i servant classes are activated implicitly 
+  // by GEOM_Gen_i::GetxxxOperations() methods.
+  // Therefore, this line is commented.
+  // In case if <thePOA> does not have ImplicitActivation policy, then
+  // activate_object() calls will be necessary in all GEOM_IxxxOperation_i constructors!
+  //thePOA->activate_object(this);
 }
 
 //=============================================================================