6986968: Crash on XIM server restart
authoromajid
Mon, 27 Sep 2010 11:30:03 -0400
changeset 6658 f7a9cf17fed4
parent 6657 15dbb366c6a3
child 6659 8add9a1f278a
6986968: Crash on XIM server restart Summary: Free XIM data structures on DestroyXIMCallback Reviewed-by: naoto
jdk/src/solaris/native/sun/awt/awt_InputMethod.c
--- a/jdk/src/solaris/native/sun/awt/awt_InputMethod.c	Mon Sep 27 13:38:49 2010 +0400
+++ b/jdk/src/solaris/native/sun/awt/awt_InputMethod.c	Mon Sep 27 11:30:03 2010 -0400
@@ -1473,6 +1473,10 @@
 static void DestroyXIMCallback(XIM im, XPointer client_data, XPointer call_data) {
     /* mark that XIM server was destroyed */
     X11im = NULL;
+    JNIEnv* env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
+    /* free the old pX11IMData and set it to null. this also avoids crashing
+     * the jvm if the XIM server reappears */
+    X11InputMethodData *pX11IMData = getX11InputMethodData(env, currentX11InputMethodInstance);
 }
 
 /*