summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2021-06-01 22:23:22 +0300
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2021-06-10 10:07:57 +0000
commit60e104aed84759f1e0cf324f47781eed5b055761 (patch)
tree553c7d66e37c7f217011e7175a8ff9edffeb7265 /src/corelib
parent49b51425bfeb10aa511b65f92067ee721208a849 (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.cpp24
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;
}