summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2010-08-10 20:52:35 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2010-08-10 20:52:35 +0000
commit930fa220b269a16fb89e549c80ad0f4d491d5ac9 (patch)
tree850e661cad7b5423a43dbe8adaab18ccb0d83c17
parent7da2fbf12a6c1b6ffd24af9ee226ee36caf91162 (diff)
downloadclasspath-930fa220b269a16fb89e549c80ad0f4d491d5ac9.tar.gz
PR classpath/40889: "gtktoolkit" var in gtk_GtkToolkit.c requires NewGlobalRef
2010-04-12 Ivan Maidanski <ivmai@mail.ru> PR classpath/40889 * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: (Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Convert gtktoolkit value to a global reference (to be accessible in set_running_flag, clear_running_flag).
-rw-r--r--ChangeLog8
-rw-r--r--native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c3
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a476759ae..31a03ca53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2010-04-12 Ivan Maidanski <ivmai@mail.ru>
+ PR classpath/40889
+ * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c:
+ (Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Convert gtktoolkit
+ value to a global reference (to be accessible in set_running_flag,
+ clear_running_flag).
+
+2010-04-12 Ivan Maidanski <ivmai@mail.ru>
+
* native/jni/classpath/jcl.c:
Simplify attribute #ifndef block.
(JCL_POINTER_CLASSNAME): Define dependent on size of void*.
diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
index b2097970c..ad996641f 100644
--- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
+++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
@@ -1,6 +1,6 @@
/* gtktoolkit.c -- Native portion of GtkToolkit
- Copyright (C) 1998, 1999, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2005, 2007, 2010 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -216,6 +216,7 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env,
init_dpi_conversion_factor ();
gtktoolkit = (*env)->FindClass(env, "gnu/java/awt/peer/gtk/GtkMainThread");
+ gtktoolkit = (*env)->NewGlobalRef(env, gtktoolkit); /* bug fix #40889 */
setRunningID = (*env)->GetStaticMethodID (env, gtktoolkit,
"setRunning", "(Z)V");
}