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 ();
}