aboutsummaryrefslogtreecommitdiff
path: root/src/windows
diff options
context:
space:
mode:
authorAlexey Ushakov <Alexey.Ushakov@jetbrains.com>2016-06-02 22:50:56 +0300
committerAlexey Ushakov <Alexey.Ushakov@jetbrains.com>2016-06-02 22:50:56 +0300
commit594baee9b81c865bb3ad5617348ec1afd9d62dfd (patch)
treea29c99678546cfa1d602af3477da148ef95f90f7 /src/windows
parenta4eff38678fe871426ef34cf64df3a4813ee471b (diff)
downloadjdk8u_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.java9
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);