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

From ea4ea27a59ddc0adab4d3d0bb6fbe8fa425f5a21 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Fri, 18 Nov 2022 11:14:14 -0800
Subject: [PATCH] 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.
---
 src/events/SDL_touch.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/events/SDL_touch.c b/src/events/SDL_touch.c
index ebf26e091c6b..bc77b7354650 100644
--- a/src/events/SDL_touch.c
+++ b/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;
     }