diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-11-01 19:54:22 +0200 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-11-15 19:00:21 +0000 |
commit | dfb4b7856a82a72934211d9a1a44626777570d30 (patch) | |
tree | cccc1c93509e09aebf0853e823c0bf92ad8c81dd /src/corelib/kernel/qjnienvironment.cpp | |
parent | f3e26891061f26a42d009ec6395f82975019039d (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.cpp | 7 |
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) /*! |