SDL: Android: prevent removing joystick if SDL hasn't been initialized yet

From 9986c89da092ec663b56737cf84ffbb5d781a3a7 Mon Sep 17 00:00:00 2001
From: Sylvain <[EMAIL REDACTED]>
Date: Tue, 9 Jun 2026 06:36:07 +0200
Subject: [PATCH] Android: prevent removing joystick if SDL hasn't been
 initialized yet

---
 src/joystick/android/SDL_sysjoystick.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/joystick/android/SDL_sysjoystick.c b/src/joystick/android/SDL_sysjoystick.c
index a3f105612fe1e..710625edbe5ce 100644
--- a/src/joystick/android/SDL_sysjoystick.c
+++ b/src/joystick/android/SDL_sysjoystick.c
@@ -497,6 +497,12 @@ void Android_RemoveJoystick(int device_id)
     SDL_joylist_item *item = SDL_joylist;
     SDL_joylist_item *prev = NULL;
 
+    // Java might notify us about joysticks being removed before joysticks have
+    // been initialized.
+    if (!SDL_JoysticksInitialized()) {
+        return;
+    }
+
     SDL_LockJoysticks();
 
     // Don't call JoystickByDeviceId here or there'll be an infinite loop!