summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qjnienvironment.cpp
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2021-11-01 19:54:22 +0200
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2021-11-15 19:00:21 +0000
commitdfb4b7856a82a72934211d9a1a44626777570d30 (patch)
treecccc1c93509e09aebf0853e823c0bf92ad8c81dd /src/corelib/kernel/qjnienvironment.cpp
parentf3e26891061f26a42d009ec6395f82975019039d (diff)
Android: check if objectClass() is not null in registerNativeMethods()
In case the class doens't have a default constructor, checking for object.isValid() will give false because the object won't be created, however, the class could still be loaded and we could have a valid jclass. Pick-to: 6.2 Fixes: QTBUG-96069 Change-Id: I8d59e26d9d7c0e8e363ce443937091a374a24473 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
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 a72078d2cf..9766ff4d3b 100644
--- a/src/corelib/kernel/qjnienvironment.cpp
+++ b/src/corelib/kernel/qjnienvironment.cpp
@@ -347,11 +347,12 @@ JavaVM *QJniEnvironment::javaVM()
bool QJniEnvironment::registerNativeMethods(const char *className, const JNINativeMethod methods[],
int size)
{
- QJniObject classObject(className);
+ const jclass clazz = findClass(className);
- if (!classObject.isValid())
+ if (!clazz)
return false;
- return registerNativeMethods(classObject.objectClass(), methods, size);
+
+ return registerNativeMethods(clazz, methods, size);
}
#if QT_DEPRECATED_SINCE(6, 2)
/*!