Commit 437577f91e870eb837eef476b5685b05760eed9c

Sam Lantinga 2020-05-26T16:29:26

Fixed bug 5141 - KMSDRM: manage SDL_GetGlobalMouseState() Manuel Alfayate Corchete On the KMSDRM backend, there is no such thing as a desktop, yet some programs could (and DO) use SDL_GetGlobalMouseState(). So I think its good idea that, in KMSDRM, it returns the same mouse coordinates anyway as SDL_GetMouseState() would return. There is nothing else it could return, as far as I can understand, since there is no desktop anyway. This small patch does precisely that.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/video/kmsdrm/SDL_kmsdrmmouse.c b/src/video/kmsdrm/SDL_kmsdrmmouse.c
index 8de6291..abef62c 100644
--- a/src/video/kmsdrm/SDL_kmsdrmmouse.c
+++ b/src/video/kmsdrm/SDL_kmsdrmmouse.c
@@ -466,6 +466,8 @@ KMSDRM_InitMouse(_THIS)
     mouse->FreeCursor = KMSDRM_FreeCursor;
     mouse->WarpMouse = KMSDRM_WarpMouse;
     mouse->WarpMouseGlobal = KMSDRM_WarpMouseGlobal;
+    /* No desktop on KMSDRM, so just return the normal mouse state. */
+    mouse->GetGlobalMouseState = SDL_GetMouseState;
 
     SDL_SetDefaultCursor(KMSDRM_CreateDefaultCursor());
 }