Commited. With the attached patch to the previous version of
cairographics2d.c, the gtk locking was causing trouble.

2006-05-29  Sven de Marothy  <[EMAIL PROTECTED]>

        * gnu/java/awt/peer/gtk/BufferedImageGraphics.java
        * gnu/java/awt/peer/gtk/CairoGraphics2D.java
        * gnu/java/awt/peer/gtk/CairoSurface.java
        * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java
        * gnu/java/awt/peer/gtk/ComponentGraphics.java
        * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h
        * include/gnu_java_awt_peer_gtk_CairoSurface.h
        * include/gnu_java_awt_peer_gtk_ComponentGraphics.h
        * native/jni/gtk-peer/cairographics2d.h
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c
        New files.

        * gnu/java/awt/peer/gtk/GdkGraphics2D.java
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
        * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h
        Removed

        * include/gnu_java_awt_peer_gtk_GdkFontPeer.h
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
        * gnu/java/awt/peer/gtk/GdkFontPeer.java
        (releasePeerGraphicsResource): Moved to Font peer class.

        * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
        (createGraphics): Use new context classes.

        * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java:
        Use native BufferedImages where possible.

        * gnu/java/awt/peer/gtk/GdkTextLayout.java
        * include/gnu_java_awt_peer_gtk_GdkTextLayout.h
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c
        Move GdkGraphics2D.drawGdkTextLayout to the GdkTextLayout class,
        renamed to cairoDrawGdkTextLayout.
        
        * gnu/java/awt/peer/gtk/GtkComponentPeer.java
        (getGraphics): Use ComponentGraphics context.
        (createImage): Use native BufferedImage.
        
        * gnu/java/awt/peer/gtk/GtkImage.java:
        * include/gnu_java_awt_peer_gtk_GtkImage.h
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
        Remove pixmap support. (GtkImage(int, int) constructor, getGraphics)
        Remove drawing methods.
                
        * gnu/java/awt/print/JavaPrinterGraphics.java:
        Use CairoSurface instead of GtkImage.
        
        * include/Makefile.am
        * native/jni/gtk-peer/Makefile.am
        Update for new files.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c
        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c
        Remove superfluous GtkImage code for GdkPixmaps. 

        * native/jni/gtk-peer/gtkpeer.h
        Remove graphics2d structure.
        

-- 
Sven de Marothy <[EMAIL PROTECTED]>
--- gnu_java_awt_peer_gtk_CairoGraphics2D.c	2006-05-29 18:35:02.000000000 +0200
+++ classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c	2006-05-29 12:17:25.000000000 +0200
@@ -364,8 +364,6 @@
   float *native_positions;
   jint i = 0;
 
-  gdk_threads_enter ();
-
   g_assert (obj != NULL);
   g_assert (java_codes != NULL);
   g_assert (java_positions != NULL);
@@ -397,8 +395,6 @@
   cairo_show_glyphs (gr->cr, glyphs, n);
 
   g_free(glyphs);
-
-  gdk_threads_leave ();  
 }
 
 

Reply via email to