am 175fb816: am 8d04b131: Merge "ndk: Fix potential event handling issue in android_native_app_glue"

* commit '175fb816d20560958473cdc1bbe0fc5034e6b15d':
  ndk: Fix potential event handling issue in android_native_app_glue
diff --git a/ndk/sources/android/native_app_glue/android_native_app_glue.c b/ndk/sources/android/native_app_glue/android_native_app_glue.c
index 82fc030..0c526fa 100644
--- a/ndk/sources/android/native_app_glue/android_native_app_glue.c
+++ b/ndk/sources/android/native_app_glue/android_native_app_glue.c
@@ -186,15 +186,18 @@
 
 static void process_input(struct android_app* app, struct android_poll_source* source) {
     AInputEvent* event = NULL;
-    if (AInputQueue_getEvent(app->inputQueue, &event) >= 0) {
+    int processed = 0;
+    while (AInputQueue_getEvent(app->inputQueue, &event) >= 0) {
         LOGV("New input event: type=%d\n", AInputEvent_getType(event));
         if (AInputQueue_preDispatchEvent(app->inputQueue, event)) {
-            return;
+            continue;
         }
         int32_t handled = 0;
         if (app->onInputEvent != NULL) handled = app->onInputEvent(app, event);
         AInputQueue_finishEvent(app->inputQueue, event, handled);
-    } else {
+        processed = 1;
+    }
+    if (processed == 0) {
         LOGE("Failure reading next input event: %s\n", strerror(errno));
     }
 }