diff --git a/quakespasm/Quake/gl_vidsdl.c b/quakespasm/Quake/gl_vidsdl.c index 46e98e3b..b87f961b 100644 --- a/quakespasm/Quake/gl_vidsdl.c +++ b/quakespasm/Quake/gl_vidsdl.c @@ -75,7 +75,7 @@ static void GL_Init (void); static void GL_SetupState (void); //johnfitz viddef_t vid; // global video state -modestate_t modestate = MS_WINDOWED; +modestate_t modestate = MS_UNINIT; qboolean scr_skipupdate; qboolean isIntelVideo = false; //johnfitz -- intel video workarounds from Baker @@ -350,10 +350,13 @@ static void VID_Restart (void) // // update mouse grab // - if (modestate == MS_FULLSCREEN) - IN_Activate(); - else if (key_dest == key_console || key_dest == key_menu) - IN_Deactivate(true); + if (key_dest == key_console || key_dest == key_menu) + { + if (modestate == MS_WINDOWED) + IN_Deactivate(true); + else if (modestate == MS_FULLSCREEN) + IN_Activate(); + } } /* @@ -1029,10 +1032,13 @@ void VID_Toggle (void) VID_SyncCvars(); // update mouse grab - if (modestate == MS_FULLSCREEN) - IN_Activate(); - else if (key_dest == key_console || key_dest == key_menu) - IN_Deactivate(true); + if (key_dest == key_console || key_dest == key_menu) + { + if (modestate == MS_WINDOWED) + IN_Deactivate(true); + else if (modestate == MS_FULLSCREEN) + IN_Activate(); + } } else { diff --git a/quakespasm/Quake/vid.h b/quakespasm/Quake/vid.h index ec313220..416bef25 100644 --- a/quakespasm/Quake/vid.h +++ b/quakespasm/Quake/vid.h @@ -29,7 +29,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define VID_GRADES (1 << VID_CBITS) // moved here for global use -- kristian -typedef enum { MS_UNINIT = -1, MS_WINDOWED, MS_FULLSCREEN } modestate_t; +typedef enum { MS_UNINIT, MS_WINDOWED, MS_FULLSCREEN } modestate_t; extern modestate_t modestate;