On Wed, 21 May 2025 03:17:34 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
wrote:

> Graphics copyArea overflow check bails out of copying pixels if there is 
> overflow.
> The spec says ""If a portion of the source rectangle lies outside the bounds 
> of the component, or is obscured by another window or component, {@code 
> copyArea} *will be unable to copy* the associated pixels"
> 
> which suggests that we should always copy the parts inside the bounds and 
> never the parts outside the bounds
> but it seems currently, in the case of overflow it no longer copies any 
> pixels, including the parts that are inside. 
> So, the fix clips the copyarea region to clip bounds so it will only affect 
> pixels within the valid bounds, and any pixels outside will be ignored.

src/java.desktop/share/native/libawt/java2d/loops/Blit.c line 77:

> 75:     srcInfo.bounds.x1 = srcx;
> 76:     srcInfo.bounds.y1 = srcy;
> 77:     if (UNSAFE_TO_ADD(srcx, width) ||

isn't the MaskBlit_MaskBlit use the same pattern?

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

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

Reply via email to