Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 611 - Surface series memory leak
Summary: Surface series memory leak
Status: RESOLVED NOTABUG
Alias: None
Product: VCL TeeChart
Classification: Unclassified
Component: Series (show other bugs)
Version: 140220
Hardware: PC Windows
: High major
Target Milestone: ---
Assignee: Steema Issue Manager
URL: http://www.teechart.net/support/viewt...
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-28 06:27 EST by narcís calvet
Modified: 2014-02-28 07:05 EST (History)
1 user (show)

See Also:
Chart Series: Surface 3D
Delphi / C++ Builder RAD IDE Version:


Attachments
C++ Builder test project (48.37 KB, application/x-zip-compressed)
2014-02-28 06:27 EST, narcís calvet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description narcís calvet 2014-02-28 06:27:40 EST
Created attachment 105 [details]
C++ Builder test project

I found a memory leak in the Surface series, compile test1 program attached and after start check memory at the TaskManager.

I've just checked with the GDI rendering, the bug also exists with the same memory leaking rate. By the way, this bug exists only in the latest TeeChart version (2014.10), previous version works fine: For this reason I am now using the TeeChart November 2013 version.
Comment 1 david berneda 2014-02-28 06:51:39 EST
ReportMemoryLeaksOnShutdown=true is not reporting any leak when the program is finished, so it must be some allocation that is done at repaint time.
Comment 2 david berneda 2014-02-28 07:05:05 EST
Loop accessing GridIndex should start at 1.
When using 0, values aren't found so Value[0,z] and Value[x,0] will add new points to the Series (and so the apparent leak).

Correct code is:

void __fastcall TForm4::Timer1Timer(TObject *Sender)
{
  for(int x = 1; x <= 128; ++x)
  for(int z = 1; z <= 128; ++z)
    Series1->Value[x][z] = random(512);
}