Create a 2D window and then manually focus a different window on your desktop,
authorRyan C. Gordon <icculus@icculus.org>
Thu, 26 Feb 2004 15:12:51 +0000
changeset 860 2bac79e27868
parent 859 6b28c91bf3d2
child 861 863da1c38c7e
Create a 2D window and then manually focus a different window on your desktop, call SDL_PumpEvents() so the X11 driver sets its this->hidden->switch_waiting, then set a fullscreen OpenGL window (which makes the X11 driver tear down and create a new window instead of just resizing the existing one), poll for events, and the newly-created window will think it needs to pop back to a window. Fixed by resetting switch_waiting to zero if X11_CreateWindow() had to tear down a previous window.
src/video/x11/SDL_x11video.c
--- a/src/video/x11/SDL_x11video.c	Thu Feb 26 14:26:07 2004 +0000
+++ b/src/video/x11/SDL_x11video.c	Thu Feb 26 15:12:51 2004 +0000
@@ -665,6 +665,7 @@
 	/* If a window is already present, destroy it and start fresh */
 	if ( SDL_Window ) {
 		X11_DestroyWindow(this, screen);
+		switch_waiting = 0; /* Prevent jump back to now-meaningless state. */
 	}
 
 	/* See if we have been given a window id */