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 974 - XE7: TChart on FMX TabControl hangs using "slide" animation
Summary: XE7: TChart on FMX TabControl hangs using "slide" animation
Status: RESOLVED FIXED
Alias: None
Product: FireMonkey TeeChart
Classification: Unclassified
Component: Chart (show other bugs)
Version: unspecified
Hardware: PC Windows
: Normal enhancement
Target Milestone: ---
Assignee: Steema Issue Manager
URL: http://www.teechart.net/support/viewt...
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-22 05:36 EDT by yeray alonso
Modified: 2014-10-22 10:36 EDT (History)
0 users

See Also:
Chart Series: ---
Delphi / C++ Builder RAD IDE Version:


Attachments
test error (58.48 KB, application/octet-stream)
2014-10-22 05:36 EDT, yeray alonso
Details

Note You need to log in before you can comment on or make changes to this bug.
Description yeray alonso 2014-10-22 05:36:41 EDT
Created attachment 311 [details]
test error

"Using the attached demo, make sure "TabItem1" is the selected tab at design-time; Run the app; click "Button2" to active "TabItem2" with the "Slide" animation;

If the "Chart1" is made visible by either setting "TabItem2" as selected at design-time, or by clicking "TabItem2" directly at run-time, then the "slide" transition will work (won't hang the app) from then on."

Using the actual sources, the app crashes at TTeeCanvas3D.ReDrawBitmap the second time it's called. FCanvas isn't nil (it was with v2014.12),  TTeeCanvas3D.TransferBitmap is called and it crashes in the line:

  ACanvas.DrawBitmap(FBitmap,RectF(0,0,FBitmap.Width,FBitmap.Height),

     RectF(ALeft,ATop,
           ALeft+{$IFDEF FMXSCALE}Round(FBitmap.Width/ACanvas.Scale){$ELSE}FBitmap.Width{$ENDIF},
           ATop +{$IFDEF FMXSCALE}Round(FBitmap.Height/ACanvas.Scale){$ELSE}FBitmap.Height{$ENDIF}),

     1 {AbsoluteOpacity},
     True);

Call Stack:

System._ROUND
:00407253 System::__linkproc__ ROUND()
FMXTee.Canvas.TTeeCanvas3D.ReDrawBitmap
FMXTee.Procs.TCustomTeePanel.Paint
FMX.Controls.TControl.PaintInternal

The problem may be ACanvas.Scale value: 7.81101302442025e-35; the first time TTeeCanvas3D.ReDrawBitmap is called Scale value is 1 and it works fine.