# HG changeset patch # User prr # Date 1384886162 28800 # Node ID 31823abc22588ba44da317a8a8a074dd817decc0 # Parent 7bb6e98b1dfb11e7df1b892841cad8b1d4c91cfd 8027541: ully transparent jframe becomes black. Reviewed-by: bae, ceisserer diff -r 7bb6e98b1dfb -r 31823abc2258 jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java --- a/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java Wed Nov 13 11:59:49 2013 -0800 +++ b/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java Tue Nov 19 10:36:02 2013 -0800 @@ -245,7 +245,17 @@ ColorModel cm, Image image, long drawable, int transparency) { - int depth = transparency > Transparency.OPAQUE ? 32 : 24; + int depth; + // If we have a 32 bit color model for the window it needs + // alpha to support translucency of the window so we need + // to upgrade what was requested for the surface. + if (gc.getColorModel().getPixelSize() == 32) { + depth = 32; + transparency = Transparency.TRANSLUCENT; + } else { + depth = transparency > Transparency.OPAQUE ? 32 : 24; + } + if (depth == 24) { cm = new DirectColorModel(depth, 0x00FF0000, 0x0000FF00, 0x000000FF);