--- old/src/share/classes/sun/java2d/SurfaceData.java 2009-06-22 21:32:51.000000000 +0200 +++ new/src/share/classes/sun/java2d/SurfaceData.java 2009-06-22 21:32:51.000000000 +0200 @@ -506,7 +506,7 @@ sg2d.textpipe = solidTextRenderer; } sg2d.shapepipe = colorPrimitives; - sg2d.loops = getRenderLoops(sg2d); + sg2d.setLoops(getRenderLoops(sg2d)); // assert(sg2d.surfaceData == this); } } else if (sg2d.compositeState == sg2d.COMP_CUSTOM) { @@ -603,7 +603,6 @@ sg2d.textpipe = getTextPipe(sg2d, false /* AA==OFF */); sg2d.shapepipe = colorPrimitives; - sg2d.loops = getRenderLoops(sg2d); // assert(sg2d.surfaceData == this); } } @@ -615,6 +614,10 @@ */ private TextPipe getTextPipe(SunGraphics2D sg2d, boolean aaHintIsOn) { + if (sg2d.getLoops() == null) { + sg2d.setLoops(getRenderLoops(sg2d)); + } + /* Try to avoid calling getFontInfo() unless its needed to * resolve one of the new AA types. */