diff --git a/src/solaris/native/sun/awt/X11Color.c b/src/solaris/native/sun/awt/X11Color.c index a1fdc58449335956067aeda6bbc644d72923d197..e7bf05b74dfa684cd1f5e3b288f35bbddfe7dc92 100644 --- a/src/solaris/native/sun/awt/X11Color.c +++ b/src/solaris/native/sun/awt/X11Color.c @@ -1377,7 +1377,7 @@ awtJNI_CreateColorData(JNIEnv *env, AwtGraphicsConfigDataPtr adata, /* Unlock now to initialize the SystemColor class */ if (lock) { - AWT_UNLOCK (); + AWT_UNLOCK_CHECK_EXCEPTION(env); } sysColors = (*env)->FindClass (env, "java/awt/SystemColor"); CHECK_NULL(sysColors); diff --git a/src/solaris/native/sun/awt/awt.h b/src/solaris/native/sun/awt/awt.h index b611338311e55fbb128d6ecf14db9c5ea1b4083b..df5f60300b66c071c9205f4744c003545a799dd7 100644 --- a/src/solaris/native/sun/awt/awt.h +++ b/src/solaris/native/sun/awt/awt.h @@ -75,6 +75,12 @@ extern void awt_output_flush(); AWT_NOFLUSH_UNLOCK(); \ } while (0) +#define AWT_UNLOCK_CHECK_EXCEPTION(env) \ + do { \ + AWT_UNLOCK(); \ + JNU_CHECK_EXCEPTION(env); \ + } while (0) + #define AWT_LOCK_IMPL() \ (*env)->CallStaticVoidMethod(env, tkClass, awtLockMID)