mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-11 16:19:16 +05:00
PAL7962
This commit is contained in:
parent
fe4f5ef4ab
commit
7dbc79c51d
@ -46,17 +46,23 @@ SMESH_GroupBase_i::SMESH_GroupBase_i( PortableServer::POA_ptr thePOA, SMESH_Mesh
|
||||
myMeshServant( theMeshServant ),
|
||||
myLocalID( theLocalID )
|
||||
{
|
||||
thePOA->activate_object( this );
|
||||
// PAL7962: san -- To ensure correct mapping of servant and correct reference counting in GenericObj_i,
|
||||
// servant activation is performed by SMESH_Mesh_i::createGroup()
|
||||
// thePOA->activate_object( this );
|
||||
}
|
||||
|
||||
SMESH_Group_i::SMESH_Group_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID )
|
||||
: SMESH_GroupBase_i( thePOA, theMeshServant, theLocalID )
|
||||
: SALOME::GenericObj_i( thePOA ),
|
||||
SMESH_GroupBase_i( thePOA, theMeshServant, theLocalID )
|
||||
{
|
||||
MESSAGE("SMESH_Group_i; this = "<<this );
|
||||
}
|
||||
|
||||
SMESH_GroupOnGeom_i::SMESH_GroupOnGeom_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID )
|
||||
: SMESH_GroupBase_i( thePOA, theMeshServant, theLocalID )
|
||||
: SALOME::GenericObj_i( thePOA ),
|
||||
SMESH_GroupBase_i( thePOA, theMeshServant, theLocalID )
|
||||
{
|
||||
MESSAGE("SMESH_GroupOnGeom_i; this = "<<this );
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -67,7 +73,7 @@ SMESH_GroupOnGeom_i::SMESH_GroupOnGeom_i( PortableServer::POA_ptr thePOA, SMESH_
|
||||
|
||||
SMESH_GroupBase_i::~SMESH_GroupBase_i()
|
||||
{
|
||||
MESSAGE("~SMESH_GroupBase_i;" );
|
||||
MESSAGE("~SMESH_GroupBase_i; this = "<<this );
|
||||
if ( myMeshServant )
|
||||
myMeshServant->removeGroup(myLocalID);
|
||||
}
|
||||
|
@ -83,9 +83,8 @@ private:
|
||||
// ======
|
||||
|
||||
class SMESH_Group_i:
|
||||
public SMESH_GroupBase_i,
|
||||
public virtual POA_SMESH::SMESH_Group,
|
||||
public virtual SALOME::GenericObj_i
|
||||
public SMESH_GroupBase_i
|
||||
{
|
||||
public:
|
||||
SMESH_Group_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID );
|
||||
@ -101,9 +100,8 @@ class SMESH_Group_i:
|
||||
// =========================
|
||||
|
||||
class SMESH_GroupOnGeom_i:
|
||||
public SMESH_GroupBase_i,
|
||||
public virtual POA_SMESH::SMESH_GroupOnGeom,
|
||||
public virtual SALOME::GenericObj_i
|
||||
public SMESH_GroupBase_i
|
||||
{
|
||||
public:
|
||||
SMESH_GroupOnGeom_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID );
|
||||
|
@ -881,6 +881,12 @@ SMESH::SMESH_GroupBase_ptr SMESH_Mesh_i::createGroup (SMESH::ElementType theElem
|
||||
aGroupImpl = new SMESH_GroupOnGeom_i( SMESH_Gen_i::GetPOA(), this, anId );
|
||||
else
|
||||
aGroupImpl = new SMESH_Group_i( SMESH_Gen_i::GetPOA(), this, anId );
|
||||
|
||||
// PAL7962: san -- To ensure correct mapping of servant and correct reference counting in GenericObj_i
|
||||
SMESH_Gen_i::GetPOA()->activate_object( aGroupImpl );
|
||||
aGroupImpl->Register();
|
||||
// PAL7962: san -- To ensure correct mapping of servant and correct reference counting in GenericObj_i
|
||||
|
||||
aGroup = SMESH::SMESH_GroupBase::_narrow( aGroupImpl->_this() );
|
||||
_mapGroups[anId] = SMESH::SMESH_GroupBase::_duplicate( aGroup );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user