Fix memory leak.

This commit is contained in:
jfa 2009-09-15 05:33:34 +00:00
parent b2ea8b9868
commit 2e67fe0f7e

View File

@ -24,7 +24,7 @@
// Author : Yves FRICAUD/Lucien PIGNOLONI
// Module : GEOM
// $Header$
//
#include <Standard_Stream.hxx>
#include <Standard_Stream.hxx>
@ -58,7 +58,6 @@
#define HST_CLIENT_LEN 256
//=======================================================================
// function : Load()
// purpose :
@ -84,10 +83,9 @@ TopoDS_Shape GEOM_Client::Load( GEOM::GEOM_Gen_ptr geom, GEOM::GEOM_Object_ptr a
BRep_Builder aBuilder;
BRepTools::Read(S, streamBrep, aBuilder);
return(S);
};
}
}
//=======================================================================
// function : Create()
// purpose : Create in client not in a container
@ -158,18 +156,17 @@ void GEOM_Client::Bind( const TCollection_AsciiString& IOR, const TopoDS_Shape&
void GEOM_Client::RemoveShapeFromBuffer( const TCollection_AsciiString& IOR)
{
if( myIORs.IsEmpty() )
return ;
return;
TopoDS_Shape S ;
Standard_Integer anIndex = Find( IOR, S ) ;
TopoDS_Shape S;
Standard_Integer anIndex = Find( IOR, S );
if( anIndex != 0 ) {
myIORs.Remove(anIndex) ;
myShapes.Remove(anIndex) ;
myIORs.Remove(anIndex);
myShapes.Remove(anIndex);
}
return ;
return;
}
//=======================================================================
// function : ClearClientBuffer()
// purpose : purge buffer
@ -177,10 +174,10 @@ void GEOM_Client::RemoveShapeFromBuffer( const TCollection_AsciiString& IOR)
void GEOM_Client::ClearClientBuffer()
{
if( myIORs.IsEmpty() )
return ;
myIORs.Clear() ;
myShapes.Clear() ;
return ;
return;
myIORs.Clear();
myShapes.Clear();
return;
}
//=======================================================================
@ -189,10 +186,9 @@ void GEOM_Client::ClearClientBuffer()
//=======================================================================
unsigned int GEOM_Client::BufferLength()
{
return myIORs.Length() ;
return myIORs.Length();
}
//=======================================================================
// function : GetShape()
// purpose :
@ -200,7 +196,8 @@ unsigned int GEOM_Client::BufferLength()
TopoDS_Shape GEOM_Client::GetShape( GEOM::GEOM_Gen_ptr geom, GEOM::GEOM_Object_ptr aShape )
{
TopoDS_Shape S;
TCollection_AsciiString IOR = geom->GetStringFromIOR(aShape);
CORBA::String_var anIOR = geom->GetStringFromIOR(aShape);
TCollection_AsciiString IOR = (char*)anIOR.in();
Standard_Integer anIndex = Find(IOR, S);
if (anIndex != 0) return S;