--- openjdk/jdk/src/share/classes/java/awt/Color.java.orig 2008-04-18 12:31:17.000000000 -0700 +++ openjdk/jdk/src/share/classes/java/awt/Color.java 2008-04-18 12:31:42.000000000 -0700 @@ -251,6 +251,12 @@ */ private ColorSpace cs = null; + /** + * The PaintContext for this solid color. + * @see #createContext + */ + private transient ColorPaintContext context; + /* * JDK 1.1 serialVersionUID */ @@ -1205,7 +1211,10 @@ Rectangle2D r2d, AffineTransform xform, RenderingHints hints) { - return new ColorPaintContext(getRGB(), cm); + if (context == null || !context.getColorModel().equals(cm) + || context.getRGB() != getRGB()) + context = new ColorPaintContext(getRGB(), cm); + return context; } /**