summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qjnienvironment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qjnienvironment.cpp')
-rw-r--r--src/corelib/kernel/qjnienvironment.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/corelib/kernel/qjnienvironment.cpp b/src/corelib/kernel/qjnienvironment.cpp
index eea62116d6..ee57504327 100644
--- a/src/corelib/kernel/qjnienvironment.cpp
+++ b/src/corelib/kernel/qjnienvironment.cpp
@@ -222,12 +222,13 @@ JavaVM *QJniEnvironment::javaVM()
*/
bool QJniEnvironment::registerNativeMethods(const char *className, JNINativeMethod methods[], int size)
{
- jclass clazz = findClass(className);
+ QJniObject classObject(className);
- if (!clazz)
+ if (!classObject.isValid())
return false;
- if (d->jniEnv->RegisterNatives(clazz, methods, size / sizeof(methods[0])) < 0) {
+ jclass clazz = d->jniEnv->GetObjectClass(classObject.object());
+ if (d->jniEnv->RegisterNatives(clazz, methods, size) < 0) {
exceptionCheckAndClear();
d->jniEnv->DeleteLocalRef(clazz);
return false;