|
From: Elias N. <eli...@us...> - 2005-11-21 16:50:19
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/linux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3375/src/native/linux Modified Files: display.c display.h org_lwjgl_opengl_Display.c Log Message: Linux: Moved a display connection to java Index: display.h =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/display.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- display.h 21 Nov 2005 16:32:34 -0000 1.9 +++ display.h 21 Nov 2005 16:50:11 -0000 1.10 @@ -50,7 +50,7 @@ extern jobject initDisplay(JNIEnv *env, int screen, jint extension); extern void switchDisplayMode(JNIEnv * env, jobject mode, int screen, jint extension); extern void resetDisplayMode(JNIEnv *env, int screen, jint extension, jobject gamma_ramp, bool temporary); -extern jobjectArray getAvailableDisplayModes(JNIEnv * env, int screen, jint extension); +extern jobjectArray getAvailableDisplayModes(JNIEnv * env, Display *disp, int screen, jint extension); extern int getGammaRampLengthOfDisplay(JNIEnv *env, Display *disp, int screen); extern void setGammaRamp(JNIEnv *env, jobject gamma_ramp_buffer, int screen); extern void temporaryRestoreMode(JNIEnv *env, int screen, jint extension, jobject gamma_ramp); Index: display.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/display.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- display.c 21 Nov 2005 16:32:34 -0000 1.16 +++ display.c 21 Nov 2005 16:50:11 -0000 1.17 @@ -413,15 +413,9 @@ XCloseDisplay(disp); } -jobjectArray getAvailableDisplayModes(JNIEnv * env, int screen, jint extension) { +jobjectArray getAvailableDisplayModes(JNIEnv * env, Display *disp, int screen, jint extension) { int num_modes, i; mode_info *avail_modes; - Display *disp = XOpenDisplay(NULL); - if (disp == NULL) { - throwException(env, "Could not open display"); - return NULL; - } - int bpp = XDefaultDepth(disp, screen); avail_modes = getDisplayModes(disp, screen, extension, &num_modes); if (avail_modes == NULL) { @@ -439,7 +433,6 @@ (*env)->SetObjectArrayElement(env, ret, i, displayMode); } free(avail_modes); - XCloseDisplay(disp); return ret; } Index: org_lwjgl_opengl_Display.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/linux/org_lwjgl_opengl_Display.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- org_lwjgl_opengl_Display.c 21 Nov 2005 16:32:34 -0000 1.35 +++ org_lwjgl_opengl_Display.c 21 Nov 2005 16:50:11 -0000 1.36 @@ -460,7 +460,7 @@ } JNIEXPORT jobjectArray JNICALL Java_org_lwjgl_opengl_LinuxDisplay_nGetAvailableDisplayModes(JNIEnv *env, jclass clazz, jint extension) { - return getAvailableDisplayModes(env, getCurrentScreen(), extension); + return getAvailableDisplayModes(env, getDisplay(), getCurrentScreen(), extension); } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_LinuxDisplay_nSwitchDisplayMode(JNIEnv *env, jclass clazz, jint extension, jobject mode) { |