--- old/src/share/classes/sun/awt/image/BufferedImageGraphicsConfig.java 2014-05-13 21:17:47.000000000 +0400 +++ new/src/share/classes/sun/awt/image/BufferedImageGraphicsConfig.java 2014-05-13 21:17:47.000000000 +0400 @@ -25,12 +25,10 @@ package sun.awt.image; -import java.awt.AWTException; import java.awt.Component; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; -import java.awt.ImageCapabilities; import java.awt.Rectangle; import java.awt.Transparency; import java.awt.geom.AffineTransform; @@ -38,7 +36,6 @@ import java.awt.image.ColorModel; import java.awt.image.DirectColorModel; import java.awt.image.Raster; -import java.awt.image.VolatileImage; import java.awt.image.WritableRaster; public class BufferedImageGraphicsConfig @@ -57,13 +54,17 @@ return ret; } } - ret = new BufferedImageGraphicsConfig(bImg, null); + if (bImg instanceof OffScreenImage) { + ret = ((OffScreenImage)bImg).new GraphicsConfig(); + } else { + ret = new BufferedImageGraphicsConfig(bImg, null); + } if (type > 0 && type < numconfigs) { configs[type] = ret; } return ret; } - + GraphicsDevice gd; ColorModel model; Raster raster; @@ -88,7 +89,7 @@ public GraphicsDevice getDevice() { return gd; } - + /** * Returns a BufferedImage with channel layout and color model * compatible with this graphics configuration. This method @@ -102,7 +103,7 @@ WritableRaster wr = raster.createCompatibleWritableRaster(width, height); return new BufferedImage(model, wr, model.isAlphaPremultiplied(), null); } - + /** * Returns the color model associated with this configuration. */