RFR: 8357299: Graphics copyArea doesn't copy any pixels when there is overflow

Sergey Bylokhov serb at openjdk.org
Thu May 29 23:34:53 UTC 2025


On Thu, 29 May 2025 19:04:06 GMT, Phil Race <prr at openjdk.org> wrote:

>> @prrace Since it is going to clip dstInfo.bounds to clipInfo.bounds in SurfaceData_IntersectBounds, I believe is not necessary to do the duplicate clip here.
>> Let me know if you think otherwise..
>
> ok

>That is because down below it anyway calls SurfaceData_IntersectBounds(&dstInfo.bounds, &clipInfo.bounds); 
so it should clip to clipInfo.bounds there.

In addition to intersecting dst with clip, you're also intersecting src with clip, which seems incorrect. A better approach might be to compute the drawable width based on the non-overflowing range for both src and dst, and then proceed with the original logic.

BTW I have not checked MaskBlit_MaskBlit yet it might require a similar update.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25340#discussion_r2114890068


More information about the client-libs-dev mailing list