JRE-18 CCE in XRMaskFill.MaskFill
Throwing InvalidPipeException for incompatible surfaces
diff --git a/src/solaris/classes/sun/java2d/xr/XRMaskFill.java b/src/solaris/classes/sun/java2d/xr/XRMaskFill.java
index 8be8457..6d484ff 100644
--- a/src/solaris/classes/sun/java2d/xr/XRMaskFill.java
+++ b/src/solaris/classes/sun/java2d/xr/XRMaskFill.java
@@ -99,7 +99,12 @@
try {
SunToolkit.awtLock();
- XRSurfaceData x11sd = (XRSurfaceData) sData;
+ XRSurfaceData x11sd;
+ try {
+ x11sd = (XRSurfaceData) sData;
+ } catch (ClassCastException e) {
+ throw new InvalidPipeException("wrong surface data type: " + sData);
+ }
x11sd.validateAsDestination(null, sg2d.getCompClip());
XRCompositeManager maskBuffer = x11sd.maskBuffer;