소스 검색

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 년 전
부모
커밋
ea4ea27a59
1개의 변경된 파일9개의 추가작업 그리고 3개의 파일을 삭제
  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;
     }