diff options
Diffstat (limited to 'libjava/jni.cc')
-rw-r--r-- | libjava/jni.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libjava/jni.cc b/libjava/jni.cc index 5a93753f006..62a96ce9c6f 100644 --- a/libjava/jni.cc +++ b/libjava/jni.cc @@ -2426,7 +2426,12 @@ _Jv_JNI_DestroyJavaVM (JavaVM *vm) { JvAssert (the_vm && vm == the_vm); - JNIEnv *env; + union + { + JNIEnv *env; + void *env_p; + }; + if (_Jv_ThreadCurrent () != NULL) { jstring main_name; @@ -2440,8 +2445,7 @@ _Jv_JNI_DestroyJavaVM (JavaVM *vm) return JNI_ERR; } - jint r = _Jv_JNI_AttachCurrentThread (vm, main_name, - reinterpret_cast<void **> (&env), + jint r = _Jv_JNI_AttachCurrentThread (vm, main_name, &env_p, NULL, false); if (r < 0) return r; |