[vtkusers] Resource Leak with VTK +  BCB6
    John Biddiscombe 
    john.biddiscombe at mirada-solutions.com
       
    Tue Aug 12 06:32:21 EDT 2003
    
    
  
Hmmm....I see.
Looking at vtkTimerLog.cxx and .h I see that AllocateLog allocates some memory but there's no cleanup in the destructor - as it's a static structure it may be reused at different time. I think it'd be best to add a static cleanup method in there that can be called just before program exit by the user.
try this
add to vtkTimerLog.h
static void DeallocateLog();
add to vtkTimerLog.cxx
void DeallocateLog() 
{
  if (vtkTimerLog::TimerLog != NULL)
    {
    delete [] vtkTimerLog::TimerLog;
    }
  vtkTimerLog::TimerLog = NULL;
}
and at some point when your program is about to exit and no more vtk objects are going to be used, do a vtkTimerLog::DeallocateLog(); call. This will free up the memory. Is this only used when some debugging is enabled, or is it always used?
If this fix cures the problem, then I guess it can be added, but there ought to be some invisible timerlog management that does this automatically...
JB
    
    
More information about the vtkusers
mailing list