--- old/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c 2020-03-02 01:41:29.681093100 -0800 +++ new/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c 2020-03-02 01:41:29.245996000 -0800 @@ -23,6 +23,10 @@ * questions. */ +#ifdef HEADLESS + #error This file should not be included in headless library +#endif + #include "jni_util.h" #include "awt_p.h" #include "awt.h" @@ -31,14 +35,13 @@ #include #include #include -#ifndef HEADLESS + #include #include #ifndef NO_XRANDR #include #endif #include "GLXGraphicsConfig.h" -#endif /* !HEADLESS */ #include #include @@ -54,8 +57,6 @@ #include #include "Trace.h" -#ifndef HEADLESS - int awt_numScreens; /* Xinerama-aware number of screens */ AwtScreenDataPtr x11Screens; @@ -66,12 +67,6 @@ */ static jboolean glxRequested = JNI_FALSE; -#endif /* !HEADLESS */ - -#ifdef HEADLESS -#define Display void -#endif /* HEADLESS */ - Display *awt_display; jclass tkClass = NULL; @@ -92,9 +87,7 @@ struct X11GraphicsConfigIDs x11GraphicsConfigIDs; -#ifndef HEADLESS int awtCreateX11Colormap(AwtGraphicsConfigDataPtr adata); -#endif /* HEADLESS */ static char *x11GraphicsConfigClassName = "sun/awt/X11GraphicsConfig"; @@ -134,8 +127,6 @@ CHECK_NULL(x11GraphicsConfigIDs.bitsPerPixel); } -#ifndef HEADLESS - /* * XIOErrorHandler */ @@ -405,15 +396,8 @@ DTRACE_PRINTLN("RENDER extension available"); xrenderLibHandle = dlopen("libXrender.so.1", RTLD_LAZY | RTLD_GLOBAL); -#ifdef MACOSX -#define XRENDER_LIB "/usr/X11/lib/libXrender.dylib" -#else -#define XRENDER_LIB "libXrender.so" -#endif - if (xrenderLibHandle == NULL) { - xrenderLibHandle = dlopen(XRENDER_LIB, - RTLD_LAZY | RTLD_GLOBAL); + xrenderLibHandle = dlopen("libXrender.so", RTLD_LAZY | RTLD_GLOBAL); } #if defined(__solaris__) @@ -605,8 +589,6 @@ AWT_UNLOCK (); } -#ifndef HEADLESS - /* * Checks if Xinerama is running and perform Xinerama-related initialization. */ @@ -668,7 +650,6 @@ DTRACE_PRINTLN1("\ncouldn't open shared library: %s\n", dlerror()); } } -#endif /* HEADLESS */ Display * awt_init_Display(JNIEnv *env, jobject this) @@ -745,7 +726,6 @@ return dpy; } -#endif /* !HEADLESS */ /* * Class: sun_awt_X11GraphicsEnvironment @@ -756,14 +736,9 @@ Java_sun_awt_X11GraphicsEnvironment_getDefaultScreenNum( JNIEnv *env, jobject this) { -#ifdef HEADLESS - return (jint)0; -#else return DefaultScreen(awt_display); -#endif /* !HEADLESS */ } -#ifndef HEADLESS static void ensureConfigsInited(JNIEnv* env, int screen) { if (x11Screens[screen].numConfigs == 0) { if (env == NULL) { @@ -772,19 +747,12 @@ getAllConfigs (env, screen, &(x11Screens[screen])); } } -#endif -#ifdef HEADLESS -void* getDefaultConfig(int screen) { - return NULL; -} -#else AwtGraphicsConfigDataPtr getDefaultConfig(int screen) { ensureConfigsInited(NULL, screen); return x11Screens[screen].defaultConfig; } -#endif /* !HEADLESS */ /* * Class: sun_awt_X11GraphicsEnvironment @@ -795,10 +763,8 @@ Java_sun_awt_X11GraphicsEnvironment_initDisplay(JNIEnv *env, jobject this, jboolean glxReq) { -#ifndef HEADLESS glxRequested = glxReq; (void) awt_init_Display(env, this); -#endif /* !HEADLESS */ } /* @@ -809,7 +775,6 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_X11GraphicsEnvironment_initGLX(JNIEnv *env, jclass x11ge) { -#ifndef HEADLESS jboolean glxAvailable; AWT_LOCK(); @@ -817,9 +782,6 @@ AWT_UNLOCK(); return glxAvailable; -#else - return JNI_FALSE; -#endif /* !HEADLESS */ } /* @@ -830,11 +792,7 @@ JNIEXPORT jint JNICALL Java_sun_awt_X11GraphicsEnvironment_getNumScreens(JNIEnv *env, jobject this) { -#ifdef HEADLESS - return (jint)0; -#else return awt_numScreens; -#endif /* !HEADLESS */ } /* @@ -845,11 +803,7 @@ JNIEXPORT jlong JNICALL Java_sun_awt_X11GraphicsDevice_getDisplay(JNIEnv *env, jobject this) { -#ifdef HEADLESS - return NULL; -#else return ptr_to_jlong(awt_display); -#endif /* !HEADLESS */ } #ifdef MITSHM @@ -976,11 +930,7 @@ Java_sun_awt_X11GraphicsEnvironment_getDisplayString (JNIEnv *env, jobject this) { -#ifdef HEADLESS - return (jstring)NULL; -#else return (*env)->NewStringUTF(env, DisplayString(awt_display)); -#endif /* HEADLESS */ } @@ -993,12 +943,8 @@ Java_sun_awt_X11GraphicsDevice_getNumConfigs( JNIEnv *env, jobject this, jint screen) { -#ifdef HEADLESS - return (jint)0; -#else ensureConfigsInited(env, screen); return x11Screens[screen].numConfigs; -#endif /* !HEADLESS */ } /* @@ -1010,9 +956,6 @@ Java_sun_awt_X11GraphicsDevice_getConfigVisualId( JNIEnv *env, jobject this, jint index, jint screen) { -#ifdef HEADLESS - return (jint)0; -#else int visNum; ensureConfigsInited(env, screen); @@ -1021,7 +964,6 @@ } else { return ((jint)x11Screens[screen].configs[index]->awt_visInfo.visualid); } -#endif /* !HEADLESS */ } /* @@ -1033,9 +975,6 @@ Java_sun_awt_X11GraphicsDevice_getConfigDepth( JNIEnv *env, jobject this, jint index, jint screen) { -#ifdef HEADLESS - return (jint)0; -#else int visNum; ensureConfigsInited(env, screen); @@ -1044,7 +983,6 @@ } else { return ((jint)x11Screens[screen].configs[index]->awt_visInfo.depth); } -#endif /* !HEADLESS */ } /* @@ -1056,9 +994,6 @@ Java_sun_awt_X11GraphicsDevice_getConfigColormap( JNIEnv *env, jobject this, jint index, jint screen) { -#ifdef HEADLESS - return (jint)0; -#else int visNum; ensureConfigsInited(env, screen); @@ -1067,7 +1002,6 @@ } else { return ((jint)x11Screens[screen].configs[index]->awt_cmap); } -#endif /* !HEADLESS */ } /* @@ -1079,7 +1013,6 @@ Java_sun_awt_X11GraphicsDevice_resetNativeData (JNIEnv *env, jclass x11gd, jint screen) { -#ifndef HEADLESS /* * Reset references to the various configs; the actual native config data * will be free'd later by the Disposer mechanism when the Java-level @@ -1093,7 +1026,6 @@ } x11Screens[screen].defaultConfig = NULL; x11Screens[screen].numConfigs = 0; -#endif /* !HEADLESS */ } /* @@ -1105,7 +1037,6 @@ Java_sun_awt_X11GraphicsConfig_dispose (JNIEnv *env, jclass x11gc, jlong configData) { -#ifndef HEADLESS AwtGraphicsConfigDataPtr aData = (AwtGraphicsConfigDataPtr) jlong_to_ptr(configData); @@ -1147,7 +1078,6 @@ } free(aData); -#endif /* !HEADLESS */ } /* @@ -1159,12 +1089,8 @@ Java_sun_awt_X11GraphicsConfig_getXResolution( JNIEnv *env, jobject this, jint screen) { -#ifdef HEADLESS - return (jdouble)0; -#else return ((DisplayWidth(awt_display, screen) * 25.4) / DisplayWidthMM(awt_display, screen)); -#endif /* !HEADLESS */ } /* @@ -1176,12 +1102,8 @@ Java_sun_awt_X11GraphicsConfig_getYResolution( JNIEnv *env, jobject this, jint screen) { -#ifdef HEADLESS - return (jdouble)0; -#else return ((DisplayHeight(awt_display, screen) * 25.4) / DisplayHeightMM(awt_display, screen)); -#endif /* !HEADLESS */ } @@ -1194,16 +1116,12 @@ Java_sun_awt_X11GraphicsConfig_getNumColors( JNIEnv *env, jobject this) { -#ifdef HEADLESS - return (jint)0; -#else AwtGraphicsConfigData *adata; adata = (AwtGraphicsConfigData *) JNU_GetLongFieldAsPtr(env, this, x11GraphicsConfigIDs.aData); return adata->awt_num_colors; -#endif /* !HEADLESS */ } /* @@ -1215,7 +1133,6 @@ Java_sun_awt_X11GraphicsConfig_init( JNIEnv *env, jobject this, jint visualNum, jint screen) { -#ifndef HEADLESS AwtGraphicsConfigData *adata = NULL; AwtScreenData asd = x11Screens[screen]; int i, n; @@ -1256,11 +1173,8 @@ (*env)->SetIntField(env, this, x11GraphicsConfigIDs.bitsPerPixel, (jint)tempImage->bits_per_pixel); XDestroyImage(tempImage); -#endif /* !HEADLESS */ } - - /* * Class: sun_awt_X11GraphicsConfig * Method: makeColorModel @@ -1270,9 +1184,6 @@ Java_sun_awt_X11GraphicsConfig_makeColorModel( JNIEnv *env, jobject this) { -#ifdef HEADLESS - return NULL; -#else AwtGraphicsConfigData *adata; jobject colorModel; @@ -1301,10 +1212,8 @@ AWT_UNLOCK (); return colorModel; -#endif /* !HEADLESS */ } - /* * Class: sun_awt_X11GraphicsConfig * Method: getBounds @@ -1313,9 +1222,6 @@ JNIEXPORT jobject JNICALL Java_sun_awt_X11GraphicsConfig_pGetBounds(JNIEnv *env, jobject this, jint screen) { -#ifdef HEADLESS - return NULL; -#else jclass clazz; jmethodID mid; jobject bounds = NULL; @@ -1374,7 +1280,6 @@ } } return bounds; -#endif /* !HEADLESS */ } /* @@ -1450,15 +1355,11 @@ Java_sun_awt_X11GraphicsConfig_isTranslucencyCapable (JNIEnv *env, jobject this, jlong configData) { -#ifdef HEADLESS - return JNI_FALSE; -#else AwtGraphicsConfigDataPtr aData = (AwtGraphicsConfigDataPtr)jlong_to_ptr(configData); if (aData == NULL) { return JNI_FALSE; } return aData->isTranslucencySupported ? JNI_TRUE : JNI_FALSE; -#endif } /* @@ -1469,9 +1370,6 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_X11GraphicsDevice_isDBESupported(JNIEnv *env, jobject this) { -#ifdef HEADLESS - return JNI_FALSE; -#else int opcode = 0, firstEvent = 0, firstError = 0; jboolean ret; @@ -1480,7 +1378,6 @@ &opcode, &firstEvent, &firstError); AWT_FLUSH_UNLOCK(); return ret; -#endif /* !HEADLESS */ } /* @@ -1492,7 +1389,6 @@ Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals(JNIEnv *env, jobject this, jint screen) { -#ifndef HEADLESS jclass clazz; jmethodID midAddVisual; Window rootWindow; @@ -1527,7 +1423,6 @@ break; } } -#endif /* !HEADLESS */ } /* @@ -1539,19 +1434,13 @@ Java_sun_awt_X11GraphicsEnvironment_pRunningXinerama(JNIEnv *env, jobject this) { -#ifdef HEADLESS - return JNI_FALSE; -#else return usingXinerama ? JNI_TRUE : JNI_FALSE; -#endif /* HEADLESS */ } /** * Begin DisplayMode/FullScreen support */ -#ifndef HEADLESS - #ifndef NO_XRANDR #define BIT_DEPTH_MULTI java_awt_DisplayMode_BIT_DEPTH_MULTI @@ -1789,7 +1678,6 @@ &event); XSync(awt_display, False); } -#endif /* !HEADLESS */ /* * Class: sun_awt_X11GraphicsDevice @@ -1800,7 +1688,7 @@ Java_sun_awt_X11GraphicsDevice_initXrandrExtension (JNIEnv *env, jclass x11gd) { -#if defined(HEADLESS) || defined(NO_XRANDR) +#if defined(NO_XRANDR) return JNI_FALSE; #else int opcode = 0, firstEvent = 0, firstError = 0; @@ -1815,7 +1703,7 @@ AWT_FLUSH_UNLOCK(); return ret; -#endif /* HEADLESS */ +#endif /* NO_XRANDR */ } /* @@ -1827,7 +1715,7 @@ Java_sun_awt_X11GraphicsDevice_getCurrentDisplayMode (JNIEnv* env, jclass x11gd, jint screen) { -#if defined(HEADLESS) || defined(NO_XRANDR) +#if defined(NO_XRANDR) return NULL; #else XRRScreenConfiguration *config; @@ -1910,7 +1798,7 @@ AWT_FLUSH_UNLOCK(); return displayMode; -#endif /* HEADLESS */ +#endif /* NO_XRANDR */ } /* @@ -1923,7 +1811,7 @@ (JNIEnv* env, jclass x11gd, jint screen, jobject arrayList) { -#if !defined(HEADLESS) && !defined(NO_XRANDR) +#if !defined(NO_XRANDR) AWT_LOCK(); @@ -1998,7 +1886,7 @@ } AWT_FLUSH_UNLOCK(); -#endif /* !HEADLESS */ +#endif /* !NO_XRANDR */ } /* @@ -2011,7 +1899,7 @@ (JNIEnv* env, jclass x11gd, jint screen, jint width, jint height, jint refreshRate) { -#if !defined(HEADLESS) && !defined(NO_XRANDR) +#if !defined(NO_XRANDR) jboolean success = JNI_FALSE; XRRScreenConfiguration *config; Drawable root; @@ -2081,7 +1969,7 @@ if (!success && !(*env)->ExceptionCheck(env)) { JNU_ThrowInternalError(env, "Could not set display mode"); } -#endif /* !HEADLESS */ +#endif /* !NO_XRANDR */ } /* @@ -2094,14 +1982,12 @@ (JNIEnv* env, jclass x11gd, jlong window) { -#ifndef HEADLESS Window win = (Window)window; AWT_LOCK(); XSync(awt_display, False); /* ensures window is visible first */ X11GD_SetFullscreenMode(win, JNI_TRUE); AWT_UNLOCK(); -#endif /* !HEADLESS */ } /* @@ -2114,13 +2000,11 @@ (JNIEnv* env, jclass x11gd, jlong window) { -#ifndef HEADLESS Window win = (Window)window; AWT_LOCK(); X11GD_SetFullscreenMode(win, JNI_FALSE); AWT_UNLOCK(); -#endif /* !HEADLESS */ } /**