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 518

Summary: Pie Series rotate leads to Invalid Pointer Operation when "Other" slice is activated
Product: VCL TeeChart Reporter: roth
Component: SeriesAssignee: Steema Issue Manager <issuemanager>
Status: RESOLVED FIXED    
Severity: critical CC: david
Priority: High    
Version: 131119   
Target Milestone: ---   
Hardware: PC   
OS: Windows   
Chart Series: Pie Delphi / C++ Builder RAD IDE Version: RAD XE5
Attachments: Sample project to provoke Invalid Pointer Operation

Description roth 2013-12-17 06:52:50 EST
Created attachment 57 [details]
Sample project to provoke Invalid Pointer Operation

I See Invalid Pointer Operations when rotating my 3D pie Chart with activated "Other" slice.

Delphi XE5, TeeChart Pro V2013 (2013.09.131119) 

Repro:
1. Open the attached sample Project in Delphi XE5 with installed TeeChart Pro V2013
2. Build and run the Project
3. Click inside the shown pie Chart and use the mouse wheel 
-> Invalid Pointer Operation
Comment 1 david berneda 2013-12-17 08:10:23 EST
Fixed. 
The problem was TChartSeries.Delete method was double-destroying a Marks.Positions and Marks.Items instance (XE4 and up only).

Correct code is:

....
      if FPositions.Count>ValueIndex then
      begin
        {$IFNDEF D18}
        FPositions[ValueIndex].Free;
        {$ENDIF}

        FPositions.Delete(ValueIndex);
      end;

      if FItems.Count>ValueIndex then
      begin
        {$IFNDEF D18}
        FItems[ValueIndex].Free;
        {$ENDIF}

        FItems.Delete(ValueIndex);
      end;
....