Dear phil & java2d team, I think this PR is good to have asap (jdk19 rdp1 ?) as the fix is trivial : 1 if in the Stroker class (3 lines).
Could you please review the PR asap as I am not an official openjdk reviewer ? https://github.com/openjdk/jdk/pull/8943 Thanks, Laurent Le ven. 3 juin 2022, 00:07, Laurent Bourgès <bourges.laur...@gmail.com> a écrit : > Sorry, I corrected 2 typo error: > > I quickly tested my modified patch with the extra condition and noticed no > difference in my tests + fixed the original reproducer code. > > Laurent > > Le ven. 3 juin 2022, 00:00, Laurent Bourgès <bourges.laur...@gmail.com> a > écrit : > >> Hi Jeremy, >> >> I quickly tested my modified path with the extra condition and noticed so >> difference in my tests + fixed the original reproducer code. >> >> It is quite trivial ~ 3 lines in Stroker so it seems doable to release >> this fix on time. >> >> I will look at your test code and see how to test few more cases : >> quad(..., end) + lineto(end) and cubicto(..., end) + lineto(end). >> >> Anyway this looks good to fix. >> >> Let's see if phil or anybody else has a slot for a simple review next >> week. >> >> Roadmap: >> https://openjdk.org/projects/jdk/19/ >> >> Deadline for integration is june 9th. >> >> Cheers, >> Laurent >> >> Le jeu. 2 juin 2022, 23:36, Jeremy Wood <micklen...@gmail.com> a écrit : >> >>> Laurent, >>> >>> I made a very modest PR here: >>> >>> https://github.com/openjdk/jdk/pull/8943 >>> >>> I wasn’t aware there was a deadline coming up; thanks for letting me >>> know. >>> >>> This passes my current test, but depending on code review feedback it’s >>> hard to predict if this will be ready by next week. >>> >>> - Jeremy >>> >>> ------ Original Message ------ >>> From "Laurent Bourgès" <bourges.laur...@gmail.com> >>> To "Jeremy Wood" <micklen...@gmail.com> >>> Cc client-libs-...@openjdk.java.net >>> Date 6/2/2022 4:48:25 PM >>> Subject Re: Re[2]: Any interest in JDK-8264999 (stroke miter edge case >>> in Marlin) >>> >>> >Jeremy, >>> > >>> >I hope you are doing well. >>> > >>> >As jdk9 rdp1 is next week, do you plan this bug to be ready for this >>> >short window or not ? >>> > >>> >Laurent >>> > >>> >Le dim. 29 mai 2022, 09:31, Laurent Bourgès <bourges.laur...@gmail.com> >>> >>> >a écrit : >>> >>One more general comment on this bug: >>> >>what is expected when lineTo() does not change last point after all >>> >>other possible operations ? >>> >>- lineTo, lineto (this bug) >>> >>- quadTo, lineto >>> >>- cubicTo, lineto >>> >>- moveto, lineto: point (ok) >>> >>- close, lineto(star: equiv to close, move start, lineto start: point >>> >>start (ok ?) >>> >> >>> >>If any drawing operation in progress (lineto, quadto, curveto), then >>> >>skip repeated end point is the specified behaviour. >>> >> >>> >>Laurent >>> >> >>> >>Le mer. 25 mai 2022, 08:57, Laurent Bourgès >>> >><bourges.laur...@gmail.com> a écrit : >>> >>>In Stroker, this lines seems causing the problem: >>> >>> >>> https://github.com/openjdk/jdk/blob/a0cccb54791d954bf08da5aac9b9794e370617c8/src/java.desktop/share/classes/sun/java2d/marlin/Stroker.java#L568 >>> >>> >>> >>>If delta is 0, then tangent is (1, 0) ! >>> >>>Should be: >>> >>>If drawOp was lineTo and delta is 0, return (skip). >>> >>> >>> >>>I wonder if there are other renderer suffering the same problem. >>> >>>Phil, how could we generalize this kind of path operation filtering ? >>> >>> >>> >>>My 2 cents, >>> >>>Laurent >>> >>> >>> >>>Le mer. 25 mai 2022, 08:15, Laurent Bourgès >>> >>><bourges.laur...@gmail.com> a écrit : >>> >>>>Jeremy, >>> >>>> >>> >>>>Probably your fix could be plugged in marlin pathTo() : >>> >>>> >>> https://github.com/openjdk/jdk/blob/742644e291039e4f2f30cf80718669c06da5809c/src/java.desktop/share/classes/sun/java2d/marlin/DMarlinRenderingEngine.java#L768 >>> >>>> >>> >>>>Or in Stroker lineTo... >>> >>>> >>> >>>>Laurent >>> >>>> >>> >>>>Le mar. 24 mai 2022, 22:55, Jeremy Wood <micklen...@gmail.com> a >>> >>>>écrit : >>> >>>>>I may still move it in the Stroker classes. There are a few other >>> >>>>>things >>> >>>>>I want to look at, too. This is a very rough draft I put together >>> >>>>>in >>> >>>>>under an hour; I just wanted to make sure it was worth pursuing >>> >>>>>before I >>> >>>>>put more time into it. >>> >>>>> >>> >>>>> - Jeremy >>> >>>>> >>> >>>>> >>> >>>>>------ Original Message ------ >>> >>>>>From "Laurent Bourgès" <bourges.laur...@gmail.com> >>> >>>>>To "Jeremy Wood" <micklen...@gmail.com> >>> >>>>>Cc client-libs-...@openjdk.java.net >>> >>>>>Date 5/24/2022 4:35:21 PM >>> >>>>>Subject Re: Any interest in JDK-8264999 (stroke miter edge case in >>> >>>>>Marlin) >>> >>>>> >>> >>>>> >Thanks Jereremy for the notification I was not aware of this one. >>> >>>>> > >>> >>>>> >I wonder if the problem should be fixed inside the marlin renderer >>> >>>>> >Stroker that should ignore such useless lineTo... >>> >>>>> > >>> >>>>> >I will read your code and try to figure out potential causes in >>> >>>>>stroker >>> >>>>> >and give you my feedback. >>> >>>>> > >>> >>>>> >Laurent >>> >>>>> > >>> >>>>> >Le mar. 24 mai 2022, 19:52, Jeremy Wood <micklen...@gmail.com> a >>> >>>>>écrit >>> >>>>> >: >>> >>>>> >>This is a P3 ticket currently assigned to Philip Race: >>> >>>>> >>https://bugs.openjdk.java.net/browse/JDK-8264999 >>> >>>>> >> >>> >>>>> >>If I put together a PR: Is anyone available/willing to help >>> >>>>>review it? >>> >>>>> >> >>> >>>>> >>I made a rough draft >>> >>>>> >>< >>> https://github.com/openjdk/jdk/compare/master...mickleness:JDK-8264999?expand=1 >>> > >>> >>>>> >>of a potential solution last night. I can continue to work on >>> >>>>>this, or >>> >>>>> >>I >>> >>>>> >>can move on if the interest isn’t there. >>> >>>>> >> >>> >>>>> >>(No urgency at all.) >>> >>>>> >> >>> >>>>> >>Regards, >>> >>>>> >> - Jeremy >>> >>>>> >><https://> >>> >>