[OpenJDK 2D-Dev] RFR: 7018932 : Drawing very large coordinates with a dashed Stroke can cause Java to hang [v4]

Laurent Bourgès lbourges at openjdk.java.net
Sun Jan 10 21:00:17 UTC 2021


> This is my fix proposal to this bug:
> - added new method strokeTo(... Region clip ...) in the abstract RenderingEngine class
> - fixed all RenderingEngine implementations in java.desktop module
> - MarlinRenderingEngine now uses the clip region to roughly & quickly clip the given shape in strokeTo(clip) 
> - LoopPipe.getStrokeSpans() uses the new strokeTo(clip) method to get good performance with huge dashed shapes.
> 
> I wrote a new test class to validate the bug fix.

Laurent Bourgès has updated the pull request incrementally with one additional commit since the last revision:

  Fixed RenderingEngine.strokeTo(clip) to call by default former method.
  Fixed CurveClipSplitter (float) to use double-precision for higher
  accuracy.
  Improved StrokedLineTest to use only bufferedimage rendering.

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2013/files
  - new: https://git.openjdk.java.net/jdk/pull/2013/files/4df9ab38..3ae23d94

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2013&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2013&range=02-03

  Stats: 216 lines in 4 files changed: 74 ins; 112 del; 30 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2013.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2013/head:pull/2013

PR: https://git.openjdk.java.net/jdk/pull/2013


More information about the 2d-dev mailing list