[OpenJDK 2D-Dev] Integrated: 7183828: Invalid Image Variant when using anything other than BufferedImage
serb at openjdk.java.net
Thu Sep 10 21:30:58 UTC 2020
On Tue, 8 Sep 2020 21:16:10 GMT, Sergey Bylokhov <serb at 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:
This pull request has now been integrated.
Author: Sergey Bylokhov <serb at openjdk.org>
Stats: 395 lines in 3 files changed: 82 ins; 250 del; 63 mod
7183828: Invalid Image Variant when using anything other than BufferedImage
More information about the 2d-dev