aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Ushakov <Alexey.Ushakov@jetbrains.com>2016-07-04 16:26:17 +0300
committerAlexey Ushakov <Alexey.Ushakov@jetbrains.com>2016-07-04 16:26:17 +0300
commite6a078baf467a37ad3ff3800d4b911ace15935bb (patch)
tree1616efc14112a1801bcfe5704b3c51a35024b5b8
parentd138a29952eb4a3b6686d78d2203b4089bb8be8a (diff)
downloadjdk8u_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.java5
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);