commit-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo...


From: Mark Wielaard
Subject: [commit-cp] classpath ChangeLog gnu/java/awt/peer/gtk/Cairo...
Date: Wed, 07 Jun 2006 09:40:54 +0000

CVSROOT:        /cvsroot/classpath
Module name:    classpath
Changes by:     Mark Wielaard <mark>    06/06/07 09:40:54

Modified files:
        .              : ChangeLog 
        gnu/java/awt/peer/gtk: CairoSurface.java ComponentGraphics.java 
        native/jni/gtk-peer: gnu_java_awt_peer_gtk_CairoGraphics2D.c 
                             gnu_java_awt_peer_gtk_CairoSurface.c 
                             gnu_java_awt_peer_gtk_ComponentGraphics.c 
        include        : gnu_java_awt_peer_gtk_CairoGraphics2D.h 
                         gnu_java_awt_peer_gtk_CairoSurface.h 
                         gnu_java_awt_peer_gtk_ComponentGraphics.h 

Log message:
               PR 27917
               * gnu/java/awt/peer/gtk/CairoSurface.java (finalize): Call 
dispose.
               * gnu/java/awt/peer/gtk/ComponentGraphics.java: Override dispose 
to
               call disposeSurface.
               (disposeSurface): New native method.
               * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
               (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Free
               pattern_pixels.
               * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
               (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Call
               cairo_pattern_destroy.
               * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
               (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface):
               New function to destroy the surface.
               * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated.
               * include/gnu_java_awt_peer_gtk_CairoSurface.h: Likewise.
               * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Likewise.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.7691&r2=1.7692
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/awt/peer/gtk/CairoSurface.java?cvsroot=classpath&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java?cvsroot=classpath&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c?cvsroot=classpath&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c?cvsroot=classpath&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c?cvsroot=classpath&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h?cvsroot=classpath&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h?cvsroot=classpath&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/classpath/include/gnu_java_awt_peer_gtk_ComponentGraphics.h?cvsroot=classpath&r1=1.4&r2=1.5

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/classpath/classpath/ChangeLog,v
retrieving revision 1.7691
retrieving revision 1.7692
diff -u -b -r1.7691 -r1.7692
--- ChangeLog   7 Jun 2006 08:04:48 -0000       1.7691
+++ ChangeLog   7 Jun 2006 09:40:53 -0000       1.7692
@@ -8,6 +8,26 @@
 
 2006-06-06  Mark Wielaard  <address@hidden>
 
+       PR 27917
+       * gnu/java/awt/peer/gtk/CairoSurface.java (finalize): Call dispose.
+       * gnu/java/awt/peer/gtk/ComponentGraphics.java: Override dispose to
+       call disposeSurface.
+       (disposeSurface): New native method.
+       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
+       (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Free
+       pattern_pixels.
+       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
+       (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Call
+       cairo_pattern_destroy.
+       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
+       (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface):
+       New function to destroy the surface.
+       * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated.
+       * include/gnu_java_awt_peer_gtk_CairoSurface.h: Likewise.
+       * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Likewise.
+
+2006-06-06  Mark Wielaard  <address@hidden>
+
        * include/jni.h (JDK1_1InitArgs): Mark pointer-to-function types
        with JNICALL.
 

Index: gnu/java/awt/peer/gtk/CairoSurface.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/CairoSurface.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- gnu/java/awt/peer/gtk/CairoSurface.java     4 Jun 2006 19:44:39 -0000       
1.6
+++ gnu/java/awt/peer/gtk/CairoSurface.java     7 Jun 2006 09:40:54 -0000       
1.7
@@ -199,6 +199,14 @@
   }
 
   /**
+   * Call dispose() to clean up any native resources allocated.
+   */
+  protected void finalize()
+  {
+    dispose();
+  }
+
+  /**
    * Return a GtkImage from this Cairo surface.
    */
   public GtkImage getGtkImage()

Index: gnu/java/awt/peer/gtk/ComponentGraphics.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- gnu/java/awt/peer/gtk/ComponentGraphics.java        6 Jun 2006 02:22:28 
-0000       1.10
+++ gnu/java/awt/peer/gtk/ComponentGraphics.java        7 Jun 2006 09:40:54 
-0000       1.11
@@ -99,6 +99,21 @@
   private native long initState(GtkComponentPeer component);
 
   /**
+   * Destroys the component surface and calls dispose on the cairo
+   * graphics2d to destroy any super class resources.
+   */
+  public void dispose()
+  {
+    disposeSurface(nativePointer);
+    super.dispose();
+  }
+
+  /**
+   * Destroys the component surface.
+   */
+  private native void disposeSurface(long nativePointer);
+
+  /**
    * Creates a cairo_t for a volatile image
    */
   protected native long initFromVolatile( long pixmapPtr, int width, int 
height);

Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c 3 Jun 2006 
22:47:03 -0000       1.6
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c 7 Jun 2006 
09:40:54 -0000       1.7
@@ -124,6 +124,10 @@
     cairo_surface_destroy (gr->pattern_surface);
   gr->pattern_surface = NULL;
 
+  if (gr->pattern_pixels)
+    g_free(gr->pattern_pixels);
+  gr->pattern_pixels = NULL;
+
   g_free( gr );
 }
 

Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c    4 Jun 2006 
19:44:39 -0000       1.15
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c    7 Jun 2006 
09:40:54 -0000       1.16
@@ -203,6 +203,7 @@
 
    cairo_set_source(cr, p);
    cairo_paint(cr);
+   cairo_pattern_destroy(p);
  }
   
  (*env)->ReleaseDoubleArrayElements (env, java_matrix, native_matrix, 0);

Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c       6 Jun 
2006 02:22:28 -0000       1.13
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c       7 Jun 
2006 09:40:54 -0000       1.14
@@ -54,6 +54,8 @@
 
 #include "gnu_java_awt_peer_gtk_ComponentGraphics.h"
 
+#include "cairographics2d.h"
+
 static short flush_scheduled = 0;
 
 static gboolean flush (gpointer data __attribute__((unused)))
@@ -163,6 +165,30 @@
   return PTR_TO_JLONG(cr);
 }
 
+/**
+ * Disposes of the surface
+ */
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface
+  (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
+   jlong value)
+{
+  struct cairographics2d *gr;
+  cairo_surface_t *surface;
+
+  gr = JLONG_TO_PTR(struct cairographics2d, value);
+
+  if (gr == NULL)
+    return;
+
+  if (gr->cr == NULL)
+    return;
+
+  surface = cairo_get_target (gr->cr);
+  if (surface != NULL)
+    cairo_surface_destroy (surface);
+}
+
 JNIEXPORT jlong JNICALL 
 Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile
   (JNIEnv *env  __attribute__ ((unused)), jobject obj __attribute__ ((unused)),

Index: include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
===================================================================
RCS file: 
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- include/gnu_java_awt_peer_gtk_CairoGraphics2D.h     3 Jun 2006 22:47:03 
-0000       1.2
+++ include/gnu_java_awt_peer_gtk_CairoGraphics2D.h     7 Jun 2006 09:40:54 
-0000       1.3
@@ -34,8 +34,8 @@
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoStroke 
(JNIEnv *env, jobject);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFill 
(JNIEnv *env, jobject);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoClip 
(JNIEnv *env, jobject);
-JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip (JNIEnv *env, 
jobject);
 JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoPreserveClip (JNIEnv *env, 
jobject);
+JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip (JNIEnv *env, 
jobject);
 JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter (JNIEnv *env, 
jobject, jint);
 
 #ifdef __cplusplus

Index: include/gnu_java_awt_peer_gtk_CairoSurface.h
===================================================================
RCS file: 
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- include/gnu_java_awt_peer_gtk_CairoSurface.h        4 Jun 2006 19:44:39 
-0000       1.2
+++ include/gnu_java_awt_peer_gtk_CairoSurface.h        7 Jun 2006 09:40:54 
-0000       1.3
@@ -17,8 +17,8 @@
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface 
(JNIEnv *env, jobject, jobject, jdoubleArray);
 JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_getPixels 
(JNIEnv *env, jobject, jint);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels 
(JNIEnv *env, jobject, jintArray);
-JNIEXPORT jlong JNICALL 
Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext (JNIEnv *env, jobject);
 JNIEXPORT jlong JNICALL 
Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer (JNIEnv *env, jobject, 
jint);
+JNIEXPORT jlong JNICALL 
Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext (JNIEnv *env, jobject);
 JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative 
(JNIEnv *env, jobject, jint, jint, jint, jint, jint, jint, jint);
 
 #ifdef __cplusplus

Index: include/gnu_java_awt_peer_gtk_ComponentGraphics.h
===================================================================
RCS file: 
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_ComponentGraphics.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- include/gnu_java_awt_peer_gtk_ComponentGraphics.h   6 Jun 2006 02:22:28 
-0000       1.4
+++ include/gnu_java_awt_peer_gtk_ComponentGraphics.h   7 Jun 2006 09:40:54 
-0000       1.5
@@ -11,7 +11,8 @@
 #endif
 
 JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState 
(JNIEnv *env, jobject, jobject);
-JNIEXPORT jlong JNICALL 
Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile(JNIEnv *env, 
jobject, jlong, jint, jint);
+JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface (JNIEnv *env, 
jobject, jlong);
+JNIEXPORT jlong JNICALL 
Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile (JNIEnv *env, 
jobject, jlong, jint, jint);
 JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_ComponentGraphics_start_1gdk_1drawing (JNIEnv *env, 
jobject);
 JNIEXPORT void JNICALL 
Java_gnu_java_awt_peer_gtk_ComponentGraphics_end_1gdk_1drawing (JNIEnv *env, 
jobject);
 JNIEXPORT jboolean JNICALL 
Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender (JNIEnv *env, jclass);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]