diff --git a/android/native/jni/input_android.c b/android/native/jni/input_android.c index 5edde577ee..e296e1220f 100644 --- a/android/native/jni/input_android.c +++ b/android/native/jni/input_android.c @@ -92,10 +92,10 @@ static typeof(AMotionEvent_getAxisValue) *p_AMotionEvent_getAxisValue; #define AMotionEvent_getAxisValue (*p_AMotionEvent_getAxisValue) -void engine_handle_cmd(void) +void engine_handle_cmd(void *data) { struct android_app *android_app = (struct android_app*)g_android; - android_input_t *android = (android_input_t*)driver.input_data; + android_input_t *android = (android_input_t*)data; int8_t cmd; if (read(android_app->msgread, &cmd, sizeof(cmd)) != sizeof(cmd)) @@ -1970,7 +1970,7 @@ static void android_input_poll(void *data) } } else if (ident == LOOPER_ID_MAIN) - engine_handle_cmd(); + engine_handle_cmd(driver.input_data); } } diff --git a/frontend/platform/platform_android.c b/frontend/platform/platform_android.c index 882ac3ea2a..57c13988df 100644 --- a/frontend/platform/platform_android.c +++ b/frontend/platform/platform_android.c @@ -252,7 +252,7 @@ static bool android_run_events (void *data) int id = ALooper_pollOnce(-1, NULL, NULL, NULL); if (id == LOOPER_ID_MAIN) - engine_handle_cmd(); + engine_handle_cmd(driver.input_data); // Check if we are exiting. if (g_extern.lifecycle_state & (1ULL << RARCH_QUIT_KEY)) diff --git a/frontend/platform/platform_android.h b/frontend/platform/platform_android.h index 73828803dc..96d48d85a4 100644 --- a/frontend/platform/platform_android.h +++ b/frontend/platform/platform_android.h @@ -49,6 +49,7 @@ enum { LOOPER_ID_MAIN = 1, LOOPER_ID_INPUT = 2, LOOPER_ID_USER = 3, + LOOPER_ID_INPUT_MSG = 4, }; enum { @@ -147,7 +148,7 @@ enum { APP_CMD_DEAD, }; -extern void engine_handle_cmd(void); +extern void engine_handle_cmd(void*); extern JNIEnv *jni_thread_getenv(void); extern struct android_app *g_android;