Fix get_jni_env.
GitOrigin-RevId: 5da8136b7c96affd3a39194624dc35c415bfad68
This commit is contained in:
parent
10a7edfbea
commit
66d8ee5228
@ -79,13 +79,16 @@ void register_native_method(JNIEnv *env, jclass clazz, std::string name, std::st
|
||||
|
||||
std::unique_ptr<JNIEnv, JvmThreadDetacher> get_jni_env(JavaVM *java_vm, jint jni_version) {
|
||||
JNIEnv *env = nullptr;
|
||||
if (java_vm->GetEnv(reinterpret_cast<void **>(&env), jni_version) == JNI_EDETACHED && env != nullptr) {
|
||||
if (java_vm->GetEnv(reinterpret_cast<void **>(&env), jni_version) == JNI_EDETACHED) {
|
||||
#ifdef JDK1_2 // if not Android JNI
|
||||
auto p_env = reinterpret_cast<void **>(&env);
|
||||
#else
|
||||
auto p_env = &env;
|
||||
#endif
|
||||
java_vm->AttachCurrentThread(p_env, nullptr);
|
||||
if (java_vm->AttachCurrentThread(p_env, nullptr) != JNI_OK) {
|
||||
java_vm = nullptr;
|
||||
env = nullptr;
|
||||
}
|
||||
} else {
|
||||
java_vm = nullptr;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user