Browse Source

Don't trigger an error if we try to delete a touch device after shutting down the touch system

This can happen on Raspberry Pi if the display system fails to initialize.
Sam Lantinga 2 years ago
parent
commit
ea4ea27a59
1 changed files with 9 additions and 3 deletions
  1. 9 3
      src/events/SDL_touch.c

+ 9 - 3
src/events/SDL_touch.c

@@ -456,10 +456,16 @@ SDL_SendTouchMotion(SDL_TouchID id, SDL_FingerID fingerid, SDL_Window * window,
 void
 SDL_DelTouch(SDL_TouchID id)
 {
-    int i;
-    int index = SDL_GetTouchIndex(id);
-    SDL_Touch *touch = SDL_GetTouch(id);
+    int i, index;
+    SDL_Touch *touch;
 
+    if (SDL_num_touch == 0) {
+        /* We've already cleaned up, we won't find this device */
+        return;
+    }
+
+    index = SDL_GetTouchIndex(id);
+    touch = SDL_GetTouch(id);
     if (!touch) {
         return;
     }