On Tue, 8 Sep 2020 21:16:10 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:
> It is intended that our draw machinery works only on specific image formats > that we know we support. > But the user still able to create some image subclasses for their purpose and > according to our spec of > Graphics2D.drawImage() we should not throw any exceptions. > > I suggest handling this situation in a similar way as we handle some errors > during rendering when > the pipeline is in the wrong state, or the ToolkitImage is not loaded yet, > just ignore the request and > return false. > > All our pipelines have a special meaning of InvalidPipeException, if the > pipeline found that it cannot complete the draw > operation throws this exception which is handled by all methods in the > SunGraphics2D class. > > So as a fix I suggest changing the IllegalArgumentException to the > InvalidPipeException. > Also, we need to add a try/catch block to the drawHiDPIImage(it uses the > SurfaceManager.getManager method directly) > > > Old review request: > https://mail.openjdk.java.net/pipermail/2d-dev/2020-August/010995.html This pull request has now been integrated. Changeset: 8da6c8d6 Author: Sergey Bylokhov <s...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/8da6c8d6 Stats: 395 lines in 3 files changed: 82 ins; 250 del; 63 mod 7183828: Invalid Image Variant when using anything other than BufferedImage Reviewed-by: prr ------------- PR: https://git.openjdk.java.net/jdk/pull/85