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://>
>>>
>>

Reply via email to