diff options
author | Simon Howard | 2005-09-08 22:05:17 +0000 |
---|---|---|
committer | Simon Howard | 2005-09-08 22:05:17 +0000 |
commit | 90a8fb8c18d4039bb6178608f9bf7fa16ae82547 (patch) | |
tree | c5a487defb63d07feceb0cb1023aec3c17f2e518 | |
parent | 7d259962ea7bbce0548974a70ea7f3f5f86620ce (diff) | |
download | chocolate-doom-90a8fb8c18d4039bb6178608f9bf7fa16ae82547.tar.gz chocolate-doom-90a8fb8c18d4039bb6178608f9bf7fa16ae82547.tar.bz2 chocolate-doom-90a8fb8c18d4039bb6178608f9bf7fa16ae82547.zip |
Allow alt-tab away while running fullscreen
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 94
-rw-r--r-- | src/d_main.c | 10 | ||||
-rw-r--r-- | src/i_video.c | 23 |
2 files changed, 26 insertions, 7 deletions
diff --git a/src/d_main.c b/src/d_main.c index 5dbf0661..060b6c53 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -1,7 +1,7 @@ // Emacs style mode select -*- C++ -*- //----------------------------------------------------------------------------- // -// $Id: d_main.c 71 2005-09-04 18:44:23Z fraggle $ +// $Id: d_main.c 94 2005-09-08 22:05:17Z fraggle $ // // Copyright(C) 1993-1996 Id Software, Inc. // Copyright(C) 2005 Simon Howard @@ -22,6 +22,9 @@ // 02111-1307, USA. // // $Log$ +// Revision 1.13 2005/09/08 22:05:17 fraggle +// Allow alt-tab away while running fullscreen +// // Revision 1.12 2005/09/04 18:44:22 fraggle // shut up compiler warnings // @@ -74,7 +77,7 @@ //----------------------------------------------------------------------------- -static const char rcsid[] = "$Id: d_main.c 71 2005-09-04 18:44:23Z fraggle $"; +static const char rcsid[] = "$Id: d_main.c 94 2005-09-08 22:05:17Z fraggle $"; #define BGCOLOR 7 #define FGCOLOR 8 @@ -446,7 +449,8 @@ void D_DoomLoop (void) S_UpdateSounds (players[consoleplayer].mo);// move positional sounds // Update display, next frame, with current state. - D_Display (); + if (screenvisible) + D_Display (); } } diff --git a/src/i_video.c b/src/i_video.c index c1da0a96..cd9397a3 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -1,7 +1,7 @@ // Emacs style mode select -*- C++ -*- //----------------------------------------------------------------------------- // -// $Id: i_video.c 83 2005-09-07 20:44:23Z fraggle $ +// $Id: i_video.c 94 2005-09-08 22:05:17Z fraggle $ // // Copyright(C) 1993-1996 Id Software, Inc. // Copyright(C) 2005 Simon Howard @@ -22,6 +22,9 @@ // 02111-1307, USA. // // $Log$ +// Revision 1.24 2005/09/08 22:05:17 fraggle +// Allow alt-tab away while running fullscreen +// // Revision 1.23 2005/09/07 20:44:23 fraggle // Fix up names of functions // Make the quit button work (pops up the "quit doom?" prompt). @@ -107,7 +110,7 @@ //----------------------------------------------------------------------------- static const char -rcsid[] = "$Id: i_video.c 83 2005-09-07 20:44:23Z fraggle $"; +rcsid[] = "$Id: i_video.c 94 2005-09-08 22:05:17Z fraggle $"; #include <ctype.h> #include <SDL.h> @@ -142,8 +145,9 @@ static int windowwidth, windowheight; static boolean native_surface; -boolean fullscreen = 1; -boolean grabmouse = 1; +boolean fullscreen = true; +boolean grabmouse = true; +boolean screenvisible; // Blocky mode, // replace each 320x200 pixel with multiply*multiply pixels. @@ -203,6 +207,10 @@ static void UpdateFocus(void) // (not minimised) window_focused = (state & SDL_APPINPUTFOCUS) && (state & SDL_APPACTIVE); + + // Should the screen be grabbed? + + screenvisible = (state & SDL_APPACTIVE) != 0; } void I_BeginRead(void) @@ -517,6 +525,13 @@ void I_FinishUpdate (void) UpdateGrab(); + // Don't update the screen if the window isn't visible. + // Not doing this breaks under Windows when we alt-tab away + // while fullscreen. + + if (!(SDL_GetAppState() & SDL_APPACTIVE)) + return; + // draws little dots on the bottom of the screen if (devparm) { |