提交 0d184d68 编写于 作者: S serb

7172749: Xrender: Class cast exception in 2D code running an AWT regression test

Reviewed-by: serb, prr
上级 8b120887
...@@ -28,6 +28,7 @@ package sun.java2d.xr; ...@@ -28,6 +28,7 @@ package sun.java2d.xr;
import java.awt.*; import java.awt.*;
import java.awt.geom.*; import java.awt.geom.*;
import sun.awt.SunToolkit; import sun.awt.SunToolkit;
import sun.java2d.InvalidPipeException;
import sun.java2d.SunGraphics2D; import sun.java2d.SunGraphics2D;
import sun.java2d.loops.*; import sun.java2d.loops.*;
import sun.java2d.pipe.Region; import sun.java2d.pipe.Region;
...@@ -69,7 +70,12 @@ public class XRRenderer implements PixelDrawPipe, PixelFillPipe, ShapeDrawPipe { ...@@ -69,7 +70,12 @@ public class XRRenderer implements PixelDrawPipe, PixelFillPipe, ShapeDrawPipe {
* destination context. * destination context.
*/ */
private final void validateSurface(SunGraphics2D sg2d) { private final void validateSurface(SunGraphics2D sg2d) {
XRSurfaceData xrsd = (XRSurfaceData) sg2d.surfaceData; XRSurfaceData xrsd;
try {
xrsd = (XRSurfaceData) sg2d.surfaceData;
} catch (ClassCastException e) {
throw new InvalidPipeException("wrong surface data type: " + sg2d.surfaceData);
}
xrsd.validateAsDestination(sg2d, sg2d.getCompClip()); xrsd.validateAsDestination(sg2d, sg2d.getCompClip());
xrsd.maskBuffer.validateCompositeState(sg2d.composite, sg2d.transform, xrsd.maskBuffer.validateCompositeState(sg2d.composite, sg2d.transform,
sg2d.paint, sg2d); sg2d.paint, sg2d);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册