summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2021-11-01 19:54:22 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-15 21:14:46 +0000
commit7fd062560add3bb0eb8f048ebea43c5e1bb9cc77 (patch)
tree69b9d533547e4ae555e3e974b9837cbf080fcf46 /src
parent1b3bf748b603408c7b9a7e9f8cdc8c81ce89faa9 (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. Fixes: QTBUG-96069 Change-Id: I8d59e26d9d7c0e8e363ce443937091a374a24473 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> (cherry picked from commit dfb4b7856a82a72934211d9a1a44626777570d30) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-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)
/*!