Hi,

The XRender pipeline was leaking GCs which are generated on the java-side.
Instead of trying to clean it up at the java-level, I now simply use
Java_sun_java2d_x11_XSurfaceData_XCreateGC which sets the javaGC field
in xsdo,
which is already freed automatically at surface-dispose time.

Thanks, Clemens
--- old/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java	2010-10-22 19:59:12.530975783 +0200
+++ new/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java	2010-10-22 19:59:12.020734687 +0200
@@ -479,8 +485,7 @@
         if (xrpipe == null) {
             try {
                 SunToolkit.awtLock();
-                xgc = renderQueue.createGC(xid); // TODO: GC leak? where to
-                // clean up?
+                xgc = XCreateGC(getNativeOps());
 
                 xrpipe = new XRRenderer(maskBuffer.getMaskBuffer());
                 xrtxpipe = new PixelToShapeConverter(xrpipe);

Reply via email to