diff options
| -rw-r--r-- | services/inputflinger/InputDispatcher.cpp | 6 | ||||
| -rw-r--r-- | services/inputflinger/InputReader.cpp | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/services/inputflinger/InputDispatcher.cpp b/services/inputflinger/InputDispatcher.cpp index 906794aee9..8ab30e8722 100644 --- a/services/inputflinger/InputDispatcher.cpp +++ b/services/inputflinger/InputDispatcher.cpp @@ -2903,7 +2903,7 @@ void InputDispatcher::setInputWindows(const Vector<sp<InputWindowHandle> >& inpu for (size_t d = 0; d < mTouchStatesByDisplay.size(); d++) { TouchState& state = mTouchStatesByDisplay.editValueAt(d); - for (size_t i = 0; i < state.windows.size(); i++) { + for (size_t i = 0; i < state.windows.size(); ) { TouchedWindow& touchedWindow = state.windows.editItemAt(i); if (!hasWindowHandleLocked(touchedWindow.windowHandle)) { #if DEBUG_FOCUS @@ -2918,7 +2918,9 @@ void InputDispatcher::setInputWindows(const Vector<sp<InputWindowHandle> >& inpu synthesizeCancelationEventsForInputChannelLocked( touchedInputChannel, options); } - state.windows.removeAt(i--); + state.windows.removeAt(i); + } else { + ++i; } } } diff --git a/services/inputflinger/InputReader.cpp b/services/inputflinger/InputReader.cpp index 4304982687..591f8d7e61 100644 --- a/services/inputflinger/InputReader.cpp +++ b/services/inputflinger/InputReader.cpp @@ -1174,7 +1174,7 @@ void InputDevice::process(const RawEvent* rawEvents, size_t count) { // gamepad button presses are handled by different mappers but they should be dispatched // in the order received. size_t numMappers = mMappers.size(); - for (const RawEvent* rawEvent = rawEvents; count--; rawEvent++) { + for (const RawEvent* rawEvent = rawEvents; count != 0; rawEvent++) { #if DEBUG_RAW_EVENTS ALOGD("Input event: device=%d type=0x%04x code=0x%04x value=0x%08x when=%" PRId64, rawEvent->deviceId, rawEvent->type, rawEvent->code, rawEvent->value, @@ -1202,6 +1202,7 @@ void InputDevice::process(const RawEvent* rawEvents, size_t count) { mapper->process(rawEvent); } } + --count; } } |