Przeglądaj źródła

Revert "Change controller sensor state on the main UI thread on Android"

This reverts commit c362f1341f2e2e6abf34ae05d6068ad89bebd00d.

It turns out this change causes a deadlock:
The main UI thread calls synchronized handleMotionEvent() which then calls SDL_LockJoysticks()
The main app thread calls SDL_LockJoysticks() and then synchronized pollInputDevices()
Sam Lantinga 1 tydzień temu
rodzic
commit
02975994c1

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

@@ -91,13 +91,7 @@ public class SDLControllerManager
      * This method is called by SDL using JNI.
      */
     static void joystickSetSensorsEnabled(int device_id, boolean enabled) {
-        // Run this on the UI thread so we don't race with enableSensor() in SDLSurface.java
-        SDL.getContext().runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                mJoystickHandler.setSensorsEnabled(device_id, enabled);
-            }
-        });
+        mJoystickHandler.setSensorsEnabled(device_id, enabled);
     }
 
     /**