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!