diff options
author | Alexey Ushakov <Alexey.Ushakov@jetbrains.com> | 2016-06-02 22:50:56 +0300 |
---|---|---|
committer | Alexey Ushakov <Alexey.Ushakov@jetbrains.com> | 2016-06-02 22:50:56 +0300 |
commit | 594baee9b81c865bb3ad5617348ec1afd9d62dfd (patch) | |
tree | a29c99678546cfa1d602af3477da148ef95f90f7 /src/windows | |
parent | a4eff38678fe871426ef34cf64df3a4813ee471b (diff) | |
download | jdk8u_jdk-594baee9b81c865bb3ad5617348ec1afd9d62dfd.tar.gz |
IDEA-156975 CCE: GraphicsDDelegate.drawPolygonjb8u76-b214
Extended CCE fix to D3D pipeline
Diffstat (limited to 'src/windows')
-rw-r--r-- | src/windows/classes/sun/java2d/d3d/D3DMaskFill.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/windows/classes/sun/java2d/d3d/D3DMaskFill.java b/src/windows/classes/sun/java2d/d3d/D3DMaskFill.java index e5e3d25a18..ac9e59edfb 100644 --- a/src/windows/classes/sun/java2d/d3d/D3DMaskFill.java +++ b/src/windows/classes/sun/java2d/d3d/D3DMaskFill.java @@ -26,6 +26,8 @@ package sun.java2d.d3d; import java.awt.Composite; + +import sun.java2d.InvalidPipeException; import sun.java2d.SunGraphics2D; import sun.java2d.loops.GraphicsPrimitive; import sun.java2d.loops.GraphicsPrimitiveMgr; @@ -67,7 +69,12 @@ class D3DMaskFill extends BufferedMaskFill { protected void validateContext(SunGraphics2D sg2d, Composite comp, int ctxflags) { - D3DSurfaceData dstData = (D3DSurfaceData)sg2d.surfaceData; + D3DSurfaceData dstData; + try { + dstData = (D3DSurfaceData) sg2d.surfaceData; + } catch (ClassCastException e) { + throw new InvalidPipeException("wrong surface data type: " + sg2d.surfaceData); + } D3DContext.validateContext(dstData, dstData, sg2d.getCompClip(), comp, null, sg2d.paint, sg2d, ctxflags); |