diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/kernel/qjnienvironment.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/corelib/kernel/qjnienvironment.cpp b/src/corelib/kernel/qjnienvironment.cpp index 04676cc29c..4e52f33e0c 100644 --- a/src/corelib/kernel/qjnienvironment.cpp +++ b/src/corelib/kernel/qjnienvironment.cpp @@ -221,14 +221,13 @@ bool QJniEnvironment::registerNativeMethods(const char *className, JNINativeMeth if (!clazz) return false; - jclass gClazz = static_cast<jclass>(d->jniEnv->NewGlobalRef(clazz)); - - if (d->jniEnv->RegisterNatives(gClazz, methods, size / sizeof(methods[0])) < 0) { + if (d->jniEnv->RegisterNatives(clazz, methods, size / sizeof(methods[0])) < 0) { exceptionCheckAndClear(); + d->jniEnv->DeleteLocalRef(clazz); return false; } - d->jniEnv->DeleteLocalRef(gClazz); + d->jniEnv->DeleteLocalRef(clazz); return true; } |