Linux: Moved a display connection creation to java
This commit is contained in:
parent
5af5828dc6
commit
6e5ed9d1ff
|
@ -79,20 +79,28 @@ final class LinuxDisplay implements DisplayImplementation {
|
|||
private static PeerInfo peer_info;
|
||||
|
||||
private static int getBestDisplayModeExtension() throws LWJGLException {
|
||||
lockAWT();
|
||||
try {
|
||||
incDisplay();
|
||||
int result;
|
||||
if (System.getenv("LWJGL_DISABLE_XRANDR") == null && isXrandrSupported()) {
|
||||
LWJGLUtil.log("Using Xrandr for display mode switching");
|
||||
return XRANDR;
|
||||
result = XRANDR;
|
||||
} else if (isXF86VidModeSupported()) {
|
||||
LWJGLUtil.log("Using XF86VidMode for display mode switching");
|
||||
return XF86VIDMODE;
|
||||
result = XF86VIDMODE;
|
||||
} else {
|
||||
LWJGLUtil.log("No display mode extensions available");
|
||||
return NONE;
|
||||
result = NONE;
|
||||
}
|
||||
|
||||
decDisplay();
|
||||
return result;
|
||||
} finally {
|
||||
unlockAWT();
|
||||
}
|
||||
private static native boolean isXrandrSupported() throws LWJGLException;
|
||||
private static native boolean isXF86VidModeSupported() throws LWJGLException;
|
||||
}
|
||||
private static native boolean isXrandrSupported();
|
||||
private static native boolean isXF86VidModeSupported();
|
||||
|
||||
private static boolean isNetWMFullscreenSupported() throws LWJGLException {
|
||||
if (System.getenv("LWJGL_DISABLE_NETWM") != null)
|
||||
|
|
|
@ -130,26 +130,12 @@ static bool isXF86VidModeSupported(JNIEnv *env, Display *disp) {
|
|||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_LinuxDisplay_isXrandrSupported(JNIEnv *env, jclass unused) {
|
||||
Display *disp = XOpenDisplay(NULL);
|
||||
if (disp == NULL) {
|
||||
throwException(env, "Could not open display");
|
||||
return JNI_FALSE;
|
||||
}
|
||||
|
||||
jboolean result = isXrandrSupported(env, disp) ? JNI_TRUE : JNI_FALSE;
|
||||
XCloseDisplay(disp);
|
||||
jboolean result = isXrandrSupported(env, getDisplay()) ? JNI_TRUE : JNI_FALSE;
|
||||
return result;
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_LinuxDisplay_isXF86VidModeSupported(JNIEnv *env, jclass unused) {
|
||||
Display *disp = XOpenDisplay(NULL);
|
||||
if (disp == NULL) {
|
||||
throwException(env, "Could not open display");
|
||||
return JNI_FALSE;
|
||||
}
|
||||
|
||||
jboolean result = isXF86VidModeSupported(env, disp) ? JNI_TRUE : JNI_FALSE;
|
||||
XCloseDisplay(disp);
|
||||
jboolean result = isXF86VidModeSupported(env, getDisplay()) ? JNI_TRUE : JNI_FALSE;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue