Commit 4177dcf8 authored by whitlocb's avatar whitlocb

Fix leak in the mesh and label plot renderers.



git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@19992 18c085ea-50e0-402c-830e-de6fd14e8384
parent 9dd9bbdf
......@@ -312,6 +312,11 @@ avtSurfaceAndWireframeRenderer::Draw()
// Kathleen Biagas, Fri Mar 9 13:33:47 PST 2012
// Delete the geometry filter when we are done with it.
//
// Brad Whitlock, Thu Jan 10 14:19:14 PST 2013
// Make a shallow copy of the input rather than just increasing the reference
// count because doing that is not letting the input dataset get deleted.
// That is, for whatever reason, the reference count remains high.
//
// ****************************************************************************
void
......@@ -354,15 +359,15 @@ avtSurfaceAndWireframeRenderer::Render(vtkDataSet *ds)
{
vtkGeometryFilter *gf = vtkGeometryFilter::New();
gf->SetInput(ds);
input = vtkPolyData::New();
gf->SetOutput(input);
gf->Update();
input = gf->GetOutput();
input->Register(NULL);
gf->Delete();
}
else
{
input = (vtkPolyData *)ds;
input->Register(NULL);
input = vtkPolyData::New();
input->ShallowCopy((vtkPolyData *)ds);
}
int *curSize = VTKRen->GetRenderWindow()->GetSize();
......
......@@ -441,6 +441,17 @@ vtkUserDefinedMapperBridge::vtkUserDefinedMapperBridge()
ren = NULL;
}
// ****************************************************************************
// Method: vtkUserDefinedMapperBridge destructor
//
// Programmer: Brad Whitlock
// Creation: Thu Jan 10 14:21:45 PST 2013
//
// ****************************************************************************
vtkUserDefinedMapperBridge::~vtkUserDefinedMapperBridge()
{
}
// ****************************************************************************
// Method: vtkUserDefinedMapperBridge::SetRenderer
......
......@@ -152,7 +152,7 @@ class PLOTTER_API vtkUserDefinedMapperBridge : public vtkDataSetMapper
protected:
vtkUserDefinedMapperBridge();
~vtkUserDefinedMapperBridge() {};
virtual ~vtkUserDefinedMapperBridge();
vtkUserDefinedMapperBridge(const
vtkUserDefinedMapperBridge&) {};
......
......@@ -264,8 +264,8 @@ avtLabelRenderer::Render(vtkDataSet *ds)
}
else
{
input = (vtkPolyData *)ds;
input->Register(NULL);
input = vtkPolyData::New();
input->ShallowCopy((vtkPolyData *)ds);
}
inputMap[ds] = input;
......
......@@ -32,6 +32,7 @@ list of changes in release 2.6.</p>
</ul>
</li>
<li>A leak in the VTK library was corrected, preventing the viewer from leaking memory as the user interacted with plots. This leak was most likely responsible for instances of VisIt crashing when animating movies on-screen.</li>
<li>The Mesh plot and Label plot renderers each had a leak that caused the viewer to run out of memory when animating through time.</li>
<li>Performing a <i>Lineout</i> query on an integer field caused the resulting curve to also use integer precision for its coordinates. This prevented the curve from storing correct coordinates for fractional values.</li>
<li>The DDCMD file format reader was fixed so it can read sets of files whose aggregate size exceeds 4Gb.</li>
<li>The XRay Image Query has had several bugs corrected that sometimes resulted in artifacts in the output images. The artifacts occured when the cells had faces with small areas (less than approximately 1e-5) or where there were cells with quadrilateral faces that were non-planar.</li>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment