diff options
Diffstat (limited to 'libjava/jni/gtk-peer/gtk_jawt.c')
-rw-r--r-- | libjava/jni/gtk-peer/gtk_jawt.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/libjava/jni/gtk-peer/gtk_jawt.c b/libjava/jni/gtk-peer/gtk_jawt.c index cba3b15..ed5f3f5 100644 --- a/libjava/jni/gtk-peer/gtk_jawt.c +++ b/libjava/jni/gtk-peer/gtk_jawt.c @@ -153,6 +153,21 @@ classpath_jawt_get_drawable (JNIEnv* env, jobject canvas) } jint +classpath_jawt_object_lock (jobject lock) +{ + JNIEnv *env = gdk_env(); + (*env)->MonitorEnter (env, lock); + return 0; +} + +void +classpath_jawt_object_unlock (jobject lock) +{ + JNIEnv *env = gdk_env(); + (*env)->MonitorExit (env, lock); +} + +jint classpath_jawt_lock () { gdk_threads_enter (); @@ -164,3 +179,19 @@ classpath_jawt_unlock () { gdk_threads_leave (); } + +jobject +classpath_jawt_create_lock () +{ + JNIEnv *env = gdk_env (); + jobject lock = (*env)->NewStringUTF (env, "jawt-lock"); + NSA_SET_GLOBAL_REF (env, lock); + return lock; +} + +void +classpath_jawt_destroy_lock (jobject lock) +{ + JNIEnv *env = gdk_env (); + NSA_DEL_GLOBAL_REF (env, lock); +} |