diff options
author | Francis Kung <fkung@redhat.com> | 2007-04-04 19:20:33 +0000 |
---|---|---|
committer | Francis Kung <fkung@redhat.com> | 2007-04-04 19:20:33 +0000 |
commit | 92e47e958daba7783fc0db2ad9445919081139d6 (patch) | |
tree | 13ca53815a917284b9ec2cb847ce752977a559ee /native | |
parent | 9f156012be54af9f4c30ad79b49c69b87cc0e164 (diff) | |
download | classpath-92e47e958daba7783fc0db2ad9445919081139d6.tar.gz |
2007-04-04 Francis Kung <fkung@redhat.com>
* gnu/java/awt/peer/gtk/CairoGraphics2D.java
(drawCairoSurface): Made protected.
* gnu/java/awt/peer/gtk/ComponentGraphics.java
(cairoDrawGlyphVector): Removed method.
(cairoSetFont): Removed method.
(disposeNative): Removed method.
(drawCairoSurface): New method.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
(Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Added
locking.
(Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont): Added locking.
(Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Added locking.
Diffstat (limited to 'native')
-rw-r--r-- | native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c index 5620746ec..1087cf7d6 100644 --- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c +++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c @@ -87,7 +87,11 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative return; if (gr->cr) - cairo_destroy (gr->cr); + { + gdk_threads_enter(); + cairo_destroy (gr->cr); + gdk_threads_leave(); + } if (gr->pattern) cairo_pattern_destroy (gr->pattern); @@ -345,6 +349,7 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector /* Iterate through glyphs and draw */ jlong* fonts = (*env)->GetLongArrayElements (env, java_fontset, NULL); + gdk_threads_enter(); for (i = 0; i < n; i++) { PangoFcFont *font = JLONG_TO_PTR(PangoFcFont, fonts[i]); @@ -367,6 +372,7 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector cairo_font_face_destroy (ft); pango_fc_font_unlock_face(font); } + gdk_threads_leave(); g_free(glyphs); } @@ -388,6 +394,7 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, font); g_assert (pfont != NULL); + gdk_threads_enter(); face = pango_fc_font_lock_face( (PangoFcFont *)pfont->font ); g_assert (face != NULL); @@ -401,6 +408,7 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont cairo_font_face_destroy (ft); pango_fc_font_unlock_face((PangoFcFont *)pfont->font); + gdk_threads_leave(); } JNIEXPORT void JNICALL |