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 8602bac79e27868
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
     1.1 --- a/src/video/x11/SDL_x11video.c	Thu Feb 26 14:26:07 2004 +0000
     1.2 +++ b/src/video/x11/SDL_x11video.c	Thu Feb 26 15:12:51 2004 +0000
     1.3 @@ -665,6 +665,7 @@
     1.4  	/* If a window is already present, destroy it and start fresh */
     1.5  	if ( SDL_Window ) {
     1.6  		X11_DestroyWindow(this, screen);
     1.7 +		switch_waiting = 0; /* Prevent jump back to now-meaningless state. */
     1.8  	}
     1.9  
    1.10  	/* See if we have been given a window id */