mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-03-01 11:25:36 +05:00
21948: EDF SMESH : Memory is not freed when deleting a mesh
Delete fields in order of their declaration in the header - for easier check
This commit is contained in:
parent
37eb451785
commit
dcf5dee894
@ -91,7 +91,7 @@ SMESH_CellLabelActor::SMESH_CellLabelActor() {
|
||||
callBackCommand->SetCallback(SMESH_CellLabelActor::ProcessEvents);
|
||||
|
||||
myTransformFilter->AddObserver("VTKViewer_TransformFilter::TransformationFinished",
|
||||
callBackCommand);
|
||||
callBackCommand);
|
||||
callBackCommand->Delete();
|
||||
}
|
||||
|
||||
@ -103,23 +103,22 @@ SMESH_CellLabelActor::~SMESH_CellLabelActor() {
|
||||
//Deleting of cells numbering pipeline
|
||||
//---------------------------------------
|
||||
myCellsNumDataSet->Delete();
|
||||
|
||||
myClsLabeledDataMapper->RemoveAllInputs();
|
||||
myClsLabeledDataMapper->Delete();
|
||||
|
||||
// commented: porting to vtk 5.0
|
||||
// myClsSelectVisiblePoints->UnRegisterAllOutputs();
|
||||
myClsSelectVisiblePoints->Delete();
|
||||
|
||||
myCellsLabels->Delete();
|
||||
// commented: porting to vtk 5.0
|
||||
// myClsMaskPoints->UnRegisterAllOutputs();
|
||||
myClsMaskPoints->Delete();
|
||||
|
||||
// commented: porting to vtk 5.0
|
||||
// myCellCenters->UnRegisterAllOutputs();
|
||||
myCellCenters->Delete();
|
||||
|
||||
myCellsLabels->Delete();
|
||||
myClsLabeledDataMapper->RemoveAllInputs();
|
||||
myClsLabeledDataMapper->Delete();
|
||||
// commented: porting to vtk 5.0
|
||||
// myClsSelectVisiblePoints->UnRegisterAllOutputs();
|
||||
myClsSelectVisiblePoints->Delete();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -176,9 +175,9 @@ void SMESH_CellLabelActor::UpdateLabels() {
|
||||
|
||||
|
||||
void SMESH_CellLabelActor::ProcessEvents(vtkObject* vtkNotUsed(theObject),
|
||||
unsigned long theEvent,
|
||||
void* theClientData,
|
||||
void* vtkNotUsed(theCallData)) {
|
||||
unsigned long theEvent,
|
||||
void* theClientData,
|
||||
void* vtkNotUsed(theCallData)) {
|
||||
SMESH_CellLabelActor* self = reinterpret_cast<SMESH_CellLabelActor*>(theClientData);
|
||||
if(self)
|
||||
self->UpdateLabels();
|
||||
|
@ -42,9 +42,9 @@ public:
|
||||
static SMESH_CellLabelActor* New();
|
||||
|
||||
static void ProcessEvents(vtkObject* theObject,
|
||||
unsigned long theEvent,
|
||||
void* theClientData,
|
||||
void* theCallData);
|
||||
unsigned long theEvent,
|
||||
void* theClientData,
|
||||
void* theCallData);
|
||||
|
||||
|
||||
vtkTypeMacro(SMESH_CellLabelActor, SMESH_DeviceActor);
|
||||
|
@ -138,33 +138,29 @@ SMESH_DeviceActor
|
||||
{
|
||||
if(MYDEBUG) MESSAGE("~SMESH_DeviceActor - "<<this);
|
||||
|
||||
myProperty->Delete();
|
||||
|
||||
myMapper->Delete();
|
||||
|
||||
myShrinkFilter->Delete();
|
||||
|
||||
myExtractUnstructuredGrid->Delete();
|
||||
|
||||
myMergeFilter->Delete();
|
||||
|
||||
myGeomFilter->Delete();
|
||||
myProperty->Delete();
|
||||
|
||||
myExtractGeometry->Delete();
|
||||
|
||||
myTransformFilter->Delete();
|
||||
|
||||
for(int i = 0, iEnd = myPassFilter.size(); i < iEnd; i++){
|
||||
myPassFilter[i]->Delete();
|
||||
}
|
||||
myMergeFilter->Delete();
|
||||
myExtractUnstructuredGrid->Delete();
|
||||
|
||||
// Orientation of faces
|
||||
myFaceOrientationFilter->Delete();
|
||||
|
||||
myFaceOrientationDataMapper->RemoveAllInputs();
|
||||
myFaceOrientationDataMapper->Delete();
|
||||
|
||||
myFaceOrientation->Delete();
|
||||
|
||||
myGeomFilter->Delete();
|
||||
|
||||
myTransformFilter->Delete();
|
||||
|
||||
for(int i = 0, iEnd = myPassFilter.size(); i < iEnd; i++)
|
||||
myPassFilter[i]->Delete();
|
||||
|
||||
myShrinkFilter->Delete();
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user