diff --git a/src/solaris/native/sun/awt/awt_GraphicsEnv.c b/src/solaris/native/sun/awt/awt_GraphicsEnv.c index cb0b7274bd9abbbaabf1d6b9c9ccff1af1e91dc8..4b6e2c685dfde987e8055e1a437b9baf026e279a 100644 --- a/src/solaris/native/sun/awt/awt_GraphicsEnv.c +++ b/src/solaris/native/sun/awt/awt_GraphicsEnv.c @@ -926,6 +926,11 @@ void TryInitMITShm(JNIEnv *env, jint *shmExt, jint *shmPixmaps) { *shmExt = canUseShmExt = CANT_USE_MITSHM; *shmPixmaps = canUseShmExtPixmaps = CANT_USE_MITSHM; + if (awt_display == (Display *)NULL) { + AWT_NOFLUSH_UNLOCK(); + return; + } + /** * XShmQueryExtension returns False in remote server case. * Unfortunately it also returns True in ssh case, so diff --git a/src/solaris/native/sun/java2d/x11/XRBackendNative.c b/src/solaris/native/sun/java2d/x11/XRBackendNative.c index 3b38bba94bf7573d1dd335393663b464d2bb1bc4..a46efacfd9d8bef5c34dbfeffb512030f33a067d 100644 --- a/src/solaris/native/sun/java2d/x11/XRBackendNative.c +++ b/src/solaris/native/sun/java2d/x11/XRBackendNative.c @@ -267,13 +267,19 @@ Java_sun_java2d_xr_XRBackendNative_initIDs(JNIEnv *env, jclass cls) { char *maskData; XImage* defaultImg; jfieldID maskImgID; - jlong fmt8 = - ptr_to_jlong(XRenderFindStandardFormat(awt_display, PictStandardA8)); - jlong fmt32 = - ptr_to_jlong(XRenderFindStandardFormat(awt_display, PictStandardARGB32)); + jlong fmt8; + jlong fmt32; + jfieldID a8ID = (*env)->GetStaticFieldID(env, cls, "FMTPTR_A8", "J"); jfieldID argb32ID = (*env)->GetStaticFieldID(env, cls, "FMTPTR_ARGB32", "J"); + if (awt_display == (Display *)NULL) { + return; + } + + fmt8 = ptr_to_jlong(XRenderFindStandardFormat(awt_display, PictStandardA8)); + fmt32 = ptr_to_jlong(XRenderFindStandardFormat(awt_display, PictStandardARGB32)); + (*env)->SetStaticLongField(env, cls, a8ID, fmt8); (*env)->SetStaticLongField(env, cls, argb32ID, fmt32);