From ed410575d63c8ea89df6d3183c05156b6b7f9296 Mon Sep 17 00:00:00 2001
From: mazmazz <mar.marcoz@outlook.com>
Date: Sun, 23 Dec 2018 22:05:09 -0500
Subject: [PATCH] Only SetWindowGrab if !disable_mouse; toggle cursor
 visibility

---
 src/sdl/i_video.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c
index b93d570a40..6a5ec3daae 100644
--- a/src/sdl/i_video.c
+++ b/src/sdl/i_video.c
@@ -360,6 +360,7 @@ static INT32 Impl_SDL_Scancode_To_Keycode(SDL_Scancode code)
 
 static void SDLdoUngrabMouse(void)
 {
+	SDL_ShowCursor(SDL_ENABLE);
 	SDL_SetWindowGrab(window, SDL_FALSE);
 	wrapmouseok = SDL_FALSE;
 	SDL_SetRelativeMouseMode(SDL_FALSE);
@@ -369,6 +370,7 @@ void SDLforceUngrabMouse(void)
 {
 	if (SDL_WasInit(SDL_INIT_VIDEO)==SDL_INIT_VIDEO && window != NULL)
 	{
+		SDL_ShowCursor(SDL_ENABLE);
 		SDL_SetWindowGrab(window, SDL_FALSE);
 		wrapmouseok = SDL_FALSE;
 		SDL_SetRelativeMouseMode(SDL_FALSE);
@@ -1553,18 +1555,18 @@ void I_StartupGraphics(void)
 	realheight = (Uint16)vid.height;
 
 	VID_Command_Info_f();
-	if (!disable_mouse) SDL_ShowCursor(SDL_DISABLE);
 	SDLdoUngrabMouse();
 
 	SDL_RaiseWindow(window);
 
-	if (mousegrabok && !M_CheckParm("-nomouse"))
+	if (mousegrabok && !disable_mouse)
 	{
+		SDL_ShowCursor(SDL_DISABLE);
 		SDL_SetRelativeMouseMode(SDL_TRUE);
+		wrapmouseok = SDL_TRUE;
+		SDL_SetWindowGrab(window, SDL_TRUE);
 	}
 
-	SDL_SetWindowGrab(window, SDL_TRUE);
-
 	graphics_started = true;
 }
 
-- 
GitLab