21948: EDF SMESH : Memory is not freed when deleting a mesh
Elimenate memory leaks on CORBA objects, servants of SALOMEDS objects etc
This commit is contained in:
parent
e3e100b8f3
commit
7003c25174
@ -230,12 +230,10 @@ void NETGENPlugin_Mesher::SetParameters(const NETGENPlugin_Hypothesis* hyp)
|
||||
GEOM::GEOM_Object_var aGeomObj;
|
||||
TopoDS_Shape S = TopoDS_Shape();
|
||||
SALOMEDS::SObject_var aSObj = myStudy->FindObjectID( entry.c_str() );
|
||||
SALOMEDS::GenericAttribute_var anAttr;
|
||||
if (!aSObj->_is_nil() && aSObj->FindAttribute(anAttr, "AttributeIOR")) {
|
||||
SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
||||
CORBA::String_var aVal = anIOR->Value();
|
||||
CORBA::Object_var obj = myStudy->ConvertIORToObject(aVal);
|
||||
if (!aSObj->_is_nil()) {
|
||||
CORBA::Object_var obj = aSObj->GetObject();
|
||||
aGeomObj = GEOM::GEOM_Object::_narrow(obj);
|
||||
aSObj->UnRegister();
|
||||
}
|
||||
if ( !aGeomObj->_is_nil() )
|
||||
S = smeshGen_i->GeomObjectToShape( aGeomObj.in() );
|
||||
@ -2031,7 +2029,9 @@ namespace
|
||||
std::string text(netgen::NgException& ex)
|
||||
{
|
||||
SMESH_Comment str("NgException");
|
||||
str << " at " << netgen::multithread.task << ": " << ex.What();
|
||||
if ( strlen( netgen::multithread.task ) > 0 )
|
||||
str << " at " << netgen::multithread.task;
|
||||
str << ": " << ex.What();
|
||||
return str;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user