diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-06-01 22:23:22 +0300 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-06-10 10:07:57 +0000 |
commit | 60e104aed84759f1e0cf324f47781eed5b055761 (patch) | |
tree | 553c7d66e37c7f217011e7175a8ff9edffeb7265 /src/corelib | |
parent | 49b51425bfeb10aa511b65f92067ee721208a849 (diff) |
JNI: check if clazz is null before doing a jni call
Also add missing \since keyword.
Task-number: QTBUG-92952
Pick-to: 6.2
Change-Id: Ia1472f04955809fb5132a4b6239dbcbdf63cca93
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qjnienvironment.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/corelib/kernel/qjnienvironment.cpp b/src/corelib/kernel/qjnienvironment.cpp index e8537dc865..8982d6712f 100644 --- a/src/corelib/kernel/qjnienvironment.cpp +++ b/src/corelib/kernel/qjnienvironment.cpp @@ -217,14 +217,18 @@ jclass QJniEnvironment::findClass(const char *className) A usecase for this method is searching for class methods and caching their IDs, so that they could later be used for calling the methods. + + \since 6.2 */ jmethodID QJniEnvironment::findMethod(jclass clazz, const char *methodName, const char *signature) { - jmethodID id = d->jniEnv->GetMethodID(clazz, methodName, signature); - if (checkAndClearExceptions(d->jniEnv)) - return nullptr; + if (clazz) { + jmethodID id = d->jniEnv->GetMethodID(clazz, methodName, signature); + if (!checkAndClearExceptions(d->jniEnv)) + return id; + } - return id; + return nullptr; } /*! @@ -247,14 +251,18 @@ jmethodID QJniEnvironment::findMethod(jclass clazz, const char *methodName, cons methodId, javaMessage.object<jstring>()); \endcode + + \since 6.2 */ jmethodID QJniEnvironment::findStaticMethod(jclass clazz, const char *methodName, const char *signature) { - jmethodID id = d->jniEnv->GetStaticMethodID(clazz, methodName, signature); - if (checkAndClearExceptions(d->jniEnv)) - return nullptr; + if (clazz) { + jmethodID id = d->jniEnv->GetStaticMethodID(clazz, methodName, signature); + if (!checkAndClearExceptions(d->jniEnv)) + return id; + } - return id; + return nullptr; } |