diff options
author | Alexey Ushakov <Alexey.Ushakov@jetbrains.com> | 2016-07-04 16:26:17 +0300 |
---|---|---|
committer | Alexey Ushakov <Alexey.Ushakov@jetbrains.com> | 2016-07-04 16:26:17 +0300 |
commit | e6a078baf467a37ad3ff3800d4b911ace15935bb (patch) | |
tree | 1616efc14112a1801bcfe5704b3c51a35024b5b8 | |
parent | d138a29952eb4a3b6686d78d2203b4089bb8be8a (diff) | |
download | jdk8u_jdk-e6a078baf467a37ad3ff3800d4b911ace15935bb.tar.gz |
IDEA-124756 ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
Throwing InvalidPipeException if we still have wrong surface
-rw-r--r-- | src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java b/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java index c20d3a2e96..bc53b903ce 100644 --- a/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java +++ b/src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java @@ -145,6 +145,11 @@ public class XRPMBlitLoops { } Blit swToSurfaceBlit = Blit.getFromCache(src.getSurfaceType(), CompositeType.SrcNoEa, vImgSurfaceType); + + if (!(vImg.getDestSurface() instanceof XRSurfaceData)) { + throw new InvalidPipeException("wrong surface data type: " + vImg.getDestSurface()); + } + XRSurfaceData vImgSurface = (XRSurfaceData) vImg.getDestSurface(); swToSurfaceBlit.Blit(src, vImgSurface, AlphaComposite.Src, null, sx, sy, 0, 0, w, h); |