From a35bcad0be8a42432f114300beb88a1ad509c7b7 Mon Sep 17 00:00:00 2001 From: Sylvain Date: Tue, 10 Feb 2026 13:34:37 +0100 Subject: [PATCH] Android: prevent SDLActivity and Main Thread to access mJoystick at the same time. same for mHapticHandler --- .../main/java/org/libsdl/app/SDLControllerManager.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java b/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java index f2de88af4b..7655ecfd6f 100644 --- a/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java +++ b/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java @@ -211,7 +211,7 @@ class SDLJoystickHandler { /** * Handles adding and removing of input devices. */ - void pollInputDevices() { + synchronized void pollInputDevices() { int[] deviceIds = InputDevice.getDeviceIds(); for (int device_id : deviceIds) { @@ -307,7 +307,7 @@ class SDLJoystickHandler { } } - protected SDLJoystick getJoystick(int device_id) { + synchronized protected SDLJoystick getJoystick(int device_id) { for (SDLJoystick joystick : mJoysticks) { if (joystick.device_id == device_id) { return joystick; @@ -642,7 +642,7 @@ class SDLHapticHandler { } } - void pollHapticDevices() { + synchronized void pollHapticDevices() { final int deviceId_VIBRATOR_SERVICE = 999999; boolean hasVibratorService = false; @@ -690,7 +690,7 @@ class SDLHapticHandler { } } - protected SDLHaptic getHaptic(int device_id) { + synchronized protected SDLHaptic getHaptic(int device_id) { for (SDLHaptic haptic : mHaptics) { if (haptic.device_id == device_id) { return haptic;