From 9a6411ed3017504e23874b29150e06f9126788a5 Mon Sep 17 00:00:00 2001 From: Anthony Green Date: Wed, 18 May 2005 14:20:53 +0000 Subject: gtk_jawt.c (classpath_jawt_object_lock, [...]): New functions. 2005-05-18 Anthony Green * jni/gtk-peer/gtk_jawt.c (classpath_jawt_object_lock, classpath_jawt_object_unlock, classpath_jawt_create_lock, classpath_jawt_destroy_lock): New functions. * jni/classpath/classpath_jawt.h (classpath_jawt_object_lock, classpath_jawt_object_unlock, classpath_jawt_create_lock, classpath_jawt_destroy_lock): New functions. * include/jawt.h (struct _JAWT_DrawingSurface): Add lock field. * jawt.c: #include malloc.h. (_Jv_Lock): Use lock. (_Jv_Unlock): Ditto. (_Jv_GetDrawingSurface): Initialize lock. (_Jv_FreeDrawingSurface): Destroy lock. (_Jv_FreeDrawingSurfaceInfo): Free platformInfo. From-SVN: r99903 --- libjava/jawt.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'libjava/jawt.c') diff --git a/libjava/jawt.c b/libjava/jawt.c index 20890da..bb03c63 100644 --- a/libjava/jawt.c +++ b/libjava/jawt.c @@ -40,6 +40,7 @@ #include #include #include "classpath_jawt.h" +#include static jint (JNICALL _Jv_Lock) (JAWT_DrawingSurface* surface); static void (JNICALL _Jv_Unlock) (JAWT_DrawingSurface* surface); @@ -76,14 +77,13 @@ JAWT_GetAWT (JNIEnv* env, JAWT* awt) static jint (JNICALL _Jv_Lock) (JAWT_DrawingSurface* surface) { - /* lock the drawing surface */ - return classpath_jawt_lock (); + return classpath_jawt_object_lock (surface->lock); } static void (JNICALL _Jv_Unlock) (JAWT_DrawingSurface* surface) { - classpath_jawt_unlock (); + classpath_jawt_object_unlock (surface->lock); } static JAWT_DrawingSurfaceInfo* @@ -109,6 +109,7 @@ static void surface_info_x11->drawable = 0; surface_info_x11->visualID = 0; + free (surface_info->platformInfo); free (surface_info); surface_info = NULL; } @@ -135,6 +136,8 @@ static JAWT_DrawingSurface* surface->surface_info = (JAWT_DrawingSurfaceInfo*) malloc (sizeof (JAWT_DrawingSurfaceInfo)); + surface->lock = classpath_jawt_create_lock (); + if (surface->surface_info == NULL) return NULL; @@ -158,6 +161,7 @@ static JAWT_DrawingSurface* static void (JNICALL _Jv_FreeDrawingSurface) (JAWT_DrawingSurface* surface) { + classpath_jawt_destroy_lock (surface->lock); free (surface); } -- cgit v1.1