Browse Source

Fix bug #9331 - SDL3 Android crash getVibrator() == null

(cherry picked from commit 1855ce68af2373760f8148984e52acd4f06b449b)
(cherry picked from commit 763d768f7df2e2311e5fe58b165c99534e45d426)
Sylvain 1 year ago
parent
commit
442e201705

+ 9 - 7
android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java

@@ -546,13 +546,15 @@ class SDLHapticHandler {
             if (haptic == null) {
                 InputDevice device = InputDevice.getDevice(deviceIds[i]);
                 Vibrator vib = device.getVibrator();
-                if (vib.hasVibrator()) {
-                    haptic = new SDLHaptic();
-                    haptic.device_id = deviceIds[i];
-                    haptic.name = device.getName();
-                    haptic.vib = vib;
-                    mHaptics.add(haptic);
-                    SDLControllerManager.nativeAddHaptic(haptic.device_id, haptic.name);
+                if (vib != null) {
+                    if (vib.hasVibrator()) {
+                        haptic = new SDLHaptic();
+                        haptic.device_id = deviceIds[i];
+                        haptic.name = device.getName();
+                        haptic.vib = vib;
+                        mHaptics.add(haptic);
+                        SDLControllerManager.nativeAddHaptic(haptic.device_id, haptic.name);
+                    }
                 }
             }
         }