From 1332dde9dd771bb5cda196db912bb036da04bb21 Mon Sep 17 00:00:00 2001 From: prr Date: Mon, 22 Jul 2013 12:52:15 -0700 Subject: [PATCH] 7196866: CTW fails on all Solaris platforms Reviewed-by: prr, jrose, twisti, kvn --- src/solaris/native/sun/awt/awt_GraphicsEnv.c | 5 +++++ .../native/sun/java2d/x11/XRBackendNative.c | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/solaris/native/sun/awt/awt_GraphicsEnv.c b/src/solaris/native/sun/awt/awt_GraphicsEnv.c index cb0b7274b..4b6e2c685 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 3b38bba94..a46efacfd 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); -- GitLab