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;
}