Fix PGraphicsJava2D.copy() when src is of same class #6013
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Using
copy()
aPGraphicsJava2D
with a src that is alsoPGraphicsJava2D
will produce the following error:class sun.java2d.SunGraphics2D cannot be cast to class java.awt.Image
This is due to
PGraphicsJava2D.native()
returningg2
(a PGraphicsJava2D instance) rather than ajava.awt.Image
instance, which is what the cast here expects.I've added specific handling for src being
PGraphicsJava2D
, as well as general handling of other non-Image results fromsrc.getNative()
. I built and tested this solution locally.