From e335597005abd68253efb98cce1bbf69f12c6a70 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 10 Apr 2007 11:19:20 +0000 Subject: 2007-04-10 Mark Wielaard * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile): Destroy surface after it is used to create a cairo context. 2007-04-09 Francis Kung PR 31311 * gnu/java/awt/peer/gtk/ComponentGraphics.java (dispose): Removed method. (disposeSurface): Removed method. * gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): Removed. (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Destroy surface after it is used to create a cairo context. --- ChangeLog | 20 ++++++++++++++ gnu/java/awt/peer/gtk/ComponentGraphics.java | 15 ---------- include/gnu_java_awt_peer_gtk_ComponentGraphics.h | 1 - .../gnu_java_awt_peer_gtk_ComponentGraphics.c | 32 ++-------------------- 4 files changed, 23 insertions(+), 45 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3523bce72..89fa0174f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +2007-04-10 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile): + Destroy surface after it is used to create a cairo context. + +2007-04-09 Francis Kung + + PR 31311 + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (dispose): Removed method. + (disposeSurface): Removed method. + * gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): Removed. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Destroy surfac +e + after it is used to create a cairo context. + + 2007-04-07 Andrew John Hughes * javax/management/ObjectName.java: diff --git a/gnu/java/awt/peer/gtk/ComponentGraphics.java b/gnu/java/awt/peer/gtk/ComponentGraphics.java index 7074e0320..4ce20a30d 100644 --- a/gnu/java/awt/peer/gtk/ComponentGraphics.java +++ b/gnu/java/awt/peer/gtk/ComponentGraphics.java @@ -150,21 +150,6 @@ public class ComponentGraphics extends CairoGraphics2D hasLock.set(Integer.valueOf(i.intValue() - 1)); } - /** - * Destroys the component surface and calls dispose on the cairo - * graphics2d to destroy any super class resources. - */ - public void dispose() - { - super.dispose(); - disposeSurface(nativePointer); - } - - /** - * Destroys the component surface. - */ - private native void disposeSurface(long nativePointer); - /** * Creates a cairo_t for a volatile image */ diff --git a/include/gnu_java_awt_peer_gtk_ComponentGraphics.h b/include/gnu_java_awt_peer_gtk_ComponentGraphics.h index fbd5f6a93..2df12469b 100644 --- a/include/gnu_java_awt_peer_gtk_ComponentGraphics.h +++ b/include/gnu_java_awt_peer_gtk_ComponentGraphics.h @@ -11,7 +11,6 @@ extern "C" #endif JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState (JNIEnv *env, jobject, jobject); -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); diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c index 25163cd9f..ed9cf3d6d 100644 --- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c +++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c @@ -1,5 +1,5 @@ /* gnu_java_awt_peer_gtk_ComponentGraphics.c - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -159,40 +159,13 @@ Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState cr = cairo_create (surface); g_assert(cr != NULL); + cairo_surface_destroy(surface); gdk_threads_leave(); 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) - { - gdk_threads_enter(); - cairo_surface_destroy (surface); - gdk_threads_leave(); - } -} - JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile (JNIEnv *env __attribute__ ((unused)), jobject obj __attribute__ ((unused)), @@ -224,6 +197,7 @@ Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile cr = cairo_create (surface); g_assert(cr != NULL); + cairo_surface_destroy(surface); gdk_threads_leave(); -- cgit v1.2.1