diff --git a/src/solaris/native/sun/awt/awt_GraphicsEnv.c b/src/solaris/native/sun/awt/awt_GraphicsEnv.c index 324d0cf1079ef5db1dcc80102945dfc710b309c2..f142c866463be4e9dbe2ffd38c67272af1f0ff6e 100644 --- a/src/solaris/native/sun/awt/awt_GraphicsEnv.c +++ b/src/solaris/native/sun/awt/awt_GraphicsEnv.c @@ -1348,7 +1348,9 @@ JNIEnv *env, jobject this) } /* Make Color Model object for this GraphicsConfiguration */ - colorModel = awtJNI_GetColorModel (env, adata); + colorModel = (*env)->ExceptionCheck(env) + ? NULL : awtJNI_GetColorModel (env, adata); + AWT_UNLOCK (); return colorModel; @@ -2052,7 +2054,7 @@ Java_sun_awt_X11GraphicsDevice_configDisplayMode AWT_FLUSH_UNLOCK(); - if (!success) { + if (!success && !(*env)->ExceptionCheck(env)) { JNU_ThrowInternalError(env, "Could not set display mode"); } #endif /* !HEADLESS */ diff --git a/src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c b/src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c index 5eb6fe52d9a526d4f3ff921f1b7f867ff0f15a1b..1c040e0a1cfccbec53d8284e0d216991b97ae4f0 100644 --- a/src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c +++ b/src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c @@ -246,8 +246,14 @@ static jobjectArray toFilenamesArray(JNIEnv *env, GSList* list, jstring* jcurren } str = (*env)->NewStringUTF(env, entry); - if (str && !(*env)->ExceptionCheck(env)) { + if((*env)->ExceptionCheck(env)){ + break; + } + if (str) { (*env)->SetObjectArrayElement(env, array, i, str); + if((*env)->ExceptionCheck(env)){ + break; + } } }