Update of /cvsroot/jake2/jake2/src/jake2/render/opengl
In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv28921/src/jake2/render/opengl
Modified Files:
Jsr231Driver.java
Log Message:
hope this helps on win32 screen mode switching
Index: Jsr231Driver.java
===================================================================
RCS file: /cvsroot/jake2/jake2/src/jake2/render/opengl/Jsr231Driver.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** Jsr231Driver.java 11 Dec 2006 21:32:17 -0000 1.18
--- Jsr231Driver.java 11 Dec 2006 21:56:10 -0000 1.19
***************
*** 52,56 ****
private GraphicsDevice device;
private DisplayMode oldDisplayMode;
! private Display display;
private volatile Frame window;
--- 52,56 ----
private GraphicsDevice device;
private DisplayMode oldDisplayMode;
! private volatile Display display;
private volatile Frame window;
***************
*** 154,158 ****
// destroy the existing window
! shutdown();
window = new Frame("Jake2 (jsr231)");
--- 154,158 ----
// destroy the existing window
! if (window != null) shutdown();
window = new Frame("Jake2 (jsr231)");
***************
*** 241,266 ****
public void shutdown() {
! try {
! EventQueue.invokeAndWait(new Runnable() {
! public void run() {
! if (oldDisplayMode != null
! && device.getFullScreenWindow() != null) {
! try {
! if (device.isFullScreenSupported())
! device.setDisplayMode(oldDisplayMode);
! device.setFullScreenWindow(null);
! } catch (Exception e) {
! e.printStackTrace();
}
! }
}
! });
! } catch (Exception e) {
! e.printStackTrace();
! }
! if (window != null) {
! display.destroy();
! window.dispose();
}
}
--- 241,278 ----
public void shutdown() {
! Thread exit = new Thread(new Runnable() {
! public void run() {
!
! try {
! EventQueue.invokeAndWait(new Runnable() {
! public void run() {
! if (oldDisplayMode != null
! && device.getFullScreenWindow() != null) {
! try {
! if (device.isFullScreenSupported())
! device.setDisplayMode(oldDisplayMode);
! device.setFullScreenWindow(null);
! } catch (Exception e) {
! e.printStackTrace();
! }
! }
}
! });
! } catch (Exception e) {
! e.printStackTrace();
}
! if (window != null) {
! display.destroy();
! window.dispose();
! }
! }
! });
! exit.start();
! try {
! exit.join();
! } catch (InterruptedException e) {
}
+ display = null;
+
}
|