Anonymous | Login | 2022-06-26 05:18 UTC | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0000152 | OMNeT++ | IDE / result analysis | public | 2010-04-16 10:08 | 2010-05-06 09:30 | ||||
Reporter | andras | ||||||||
Assigned To | andras | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 4.1b3 | ||||||||
Target Version | Fixed in Version | 4.1rc1 | |||||||
Summary | 0000152: Chart zooming broken: coordinate overflows reported too soon | ||||||||
Description | On a line chart, after clicking Zoom a few times (0000002:0000011 times), the chart reports "coordinate overflows". 11 clicks correspond to 2^11 = ~2000 zoom factor, which the chart should be able to handle. With a 2000x zoom, the full (say 1000 pixel wide) chart would be only 2,000,000 pixels. The range of a 32-bit int is about +-2 billion, so with 32-bit coordinates, the chart should be able to support a 2,000,000x zoom not 2000x, not to speak of the 64-bit coordinates used by LargeScrollableCanvas which the chart subclasses from. | ||||||||
Steps To Reproduce | Open any line chart, and click Zoom 11 times. The text "There were coordinate overflows during plotting, and the resulting chart may not be accurate. Please decrease zoom level." appears. It should only appear after about 20 (32-bit coords) or 50 (64-bit coords) clicks. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
![]() |
|
(0000275) andras (administrator) 2010-05-06 09:25 |
Looks like the limit was built in there because Windows GDI drawing chokes on coordinates greater than about 2 million. On Linux, Cairo has the +-32768 pixels limit. |
(0000276) andras (administrator) 2010-05-06 09:30 |
Fixed: now we compute all coordinates as 64-bit integers, and perform a rough pre-clipping before passing drawing operations to the SWT Graphics. Pre-clipping clips or discards drawing operations that fall outside the range that can be safely handled by the graphics engines (GDI, Cairo) underlying SWT; this range is assumed to be +-10,000 pixels. |
![]() |
|||
Date Modified | Username | Field | Change |
2010-04-16 10:08 | andras | New Issue | |
2010-04-16 10:11 | andras | Description Updated | |
2010-05-06 09:25 | andras | Note Added: 0000275 | |
2010-05-06 09:30 | andras | Note Added: 0000276 | |
2010-05-06 09:30 | andras | Status | new => resolved |
2010-05-06 09:30 | andras | Fixed in Version | => 4.1rc1 |
2010-05-06 09:30 | andras | Resolution | open => fixed |
2010-05-06 09:30 | andras | Assigned To | => andras |
Copyright © 2000 - 2022 MantisBT Team |