On Wed, 8 Oct 2025 22:05:05 GMT, Phil Race <[email protected]> wrote:

> This fix does a couple of things
> 
> 1) AffineTransformOp.createCompatibleDestImage() and 
> AffineTransformOp.createCompatibleDestRaster() now specify that they will 
> throw RasterFormatException if the transformed size is too large. They were 
> already getting an exception.
> Note that inside the JDK only the imaging API implementation itself uses 
> these APIs and I suspect they are rarely used by applications.
> 
> 2) AffineTransformOp.filter(src, null) will not throw an exception if it 
> cannot create a destination image or raster of the required size and instead 
> will use the source image size. This means applications which simply filter() 
> will not need to carefully examine the transform. Sophisticated applications 
> which want to do this can use the above "create*" methods to explicitly 
> create the destination to find this out. 
> 
> So some inconsistency but I think it is a user-friendly trade-off.
> 
> A CSR will be needed but I want to get past initial review first.

src/java.desktop/share/classes/java/awt/image/AffineTransformOp.java line 455:

> 453:             return createCompatibleDestImage(src, destCM, r);
> 454:         } catch (Exception e) {
> 455:              if (e instanceof RasterFormatException) {

How about two `catch` blocks? One catching `RasterFormatException` and a 
fallback to `Exception`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27707#discussion_r2416078369

Reply via email to