< prev index next >
modules/javafx.graphics/src/main/native-glass/ios/GlassApplication.m
Print this page
@@ -134,26 +134,26 @@
* thread.
*/
jboolean setContextClassLoader(JNIEnv *env, jobject contextClassLoader)
{
jclass threadCls = (*env)->FindClass(env, "java/lang/Thread");
- if (threadCls == NULL) {
+ if ((*env)->ExceptionCheck(env) || threadCls == NULL) {
return JNI_FALSE;
}
jmethodID currentThreadMID = (*env)->GetStaticMethodID(env, threadCls,
"currentThread", "()Ljava/lang/Thread;");
- if (currentThreadMID == NULL) {
+ if ((*env)->ExceptionCheck(env) || currentThreadMID == NULL) {
return JNI_FALSE;
}
jobject jCurrentThread = (*env)->CallStaticObjectMethod(env, threadCls, currentThreadMID);
- if (jCurrentThread == NULL) {
+ if ((*env)->ExceptionCheck(env) || jCurrentThread == NULL) {
return JNI_FALSE;
}
jmethodID setContextClassLoaderMID = (*env)->GetMethodID(env, threadCls,
"setContextClassLoader", "(Ljava/lang/ClassLoader;)V");
- if (setContextClassLoaderMID == NULL) {
+ if ((*env)->ExceptionCheck(env) || setContextClassLoaderMID == NULL) {
return JNI_FALSE;
}
(*env)->CallVoidMethod(env, jCurrentThread, setContextClassLoaderMID, contextClassLoader);
if ((*env)->ExceptionCheck(env)) {
return JNI_FALSE;
@@ -172,49 +172,51 @@
* as a package separator.
*/
jclass classForName(JNIEnv *env, char *className)
{
jclass threadCls = (*env)->FindClass(env, "java/lang/Thread");
- if (threadCls == NULL) {
+ if ((*env)->ExceptionCheck(env) || threadCls == NULL) {
return NULL;
}
jmethodID currentThreadMID = (*env)->GetStaticMethodID(env, threadCls,
"currentThread", "()Ljava/lang/Thread;");
- if (currentThreadMID == NULL) {
+ if ((*env)->ExceptionCheck(env) || currentThreadMID == NULL) {
return NULL;
}
jobject jCurrentThread = (*env)->CallStaticObjectMethod(env, threadCls, currentThreadMID);
- if (jCurrentThread == NULL) {
+ if ((*env)->ExceptionCheck(env) || jCurrentThread == NULL) {
return NULL;
}
jmethodID getContextClassLoaderMID = (*env)->GetMethodID(env, threadCls,
"getContextClassLoader", "()Ljava/lang/ClassLoader;");
- if (getContextClassLoaderMID == NULL) {
+ if ((*env)->ExceptionCheck(env) || getContextClassLoaderMID == NULL) {
return NULL;
}
jobject contextClassLoader = (*env)->CallObjectMethod(env, jCurrentThread, getContextClassLoaderMID);
if ((*env)->ExceptionCheck(env)) {
return NULL;
}
jclass classCls = (*env)->FindClass(env, "java/lang/Class");
- if (classCls == NULL) {
+ if ((*env)->ExceptionCheck(env) || classCls == NULL) {
return NULL;
}
jmethodID forNameMID = (*env)->GetStaticMethodID(env, classCls,
"forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;");
- if (forNameMID == NULL) {
+ if ((*env)->ExceptionCheck(env) || forNameMID == NULL) {
return NULL;
}
jstring classNameStr = (*env)->NewStringUTF(env, className);
- if (classNameStr == NULL) {
+ if ((*env)->ExceptionCheck(env) || classNameStr == NULL) {
return NULL;
}
jclass theCls = (*env)->CallStaticObjectMethod(env, classCls, forNameMID,
classNameStr, JNI_TRUE, contextClassLoader);
-
+ if ((*env)->ExceptionCheck(env)) {
+ return NULL;
+ }
return theCls;
}
@@ -763,11 +765,15 @@
}
#if PROTECT_INVOKE_AND_WAIT
static jobject getCurrentThread(JNIEnv *env) {
- return (*env)->CallStaticObjectMethod(env, mat_jThreadClass, mat_ThreadCurrentThread);
+ jobject jobj = (*env)->CallStaticObjectMethod(env, mat_jThreadClass, mat_ThreadCurrentThread);
+ if ((*env)->ExceptionCheck(env)) {
+ return NULL;
+ }
+ return jobj;
}
#endif
/*
< prev index next >