Sergey,

Please review this simple fix to the Dasher problem:
JBS: https://bugs.openjdk.java.net/browse/JDK-8202580
webrev: http://cr.openjdk.java.net/~lbourges/marlin/marlin-8202580.0/

Changes:
- (D)Dasher.init: the given dash array is dirty as MarlinRenderingEngine
got it from XxxArrayCache (Unsafe.allocateUninitializedArray) when calling
copyDashArray(). The fix consists in using the correct part [0; dashLen[ as
it was the case in jdk9
- added test that detects wrong dashed rectangle: jtreg fails on jdk10/11
without patch

Notes:
- the thread may hang in init() if the dirty part contains negative values
(normalization loop never exits), but it is very difficult to reproduce and
test.
- My Apologies: I introduced the bug in dec 2016 when I merged MarlinFX /
Marlin2D.


Finally, the proposed fix should be backported to JDK10 and also to OpenJFX
10/11. I can propose a patch to OpenJFX11 soon.

Could somebody else manage the backport process (JDK-update 10, OpenJFX10) ?

Regards,
Laurent

Reply via email to