diff options
| author | JosJuice <josjuice@gmail.com> | 2023-03-24 17:57:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-24 17:57:19 +0100 |
| commit | 7de01597c6e3cc108c943a458e5c2b4d210602ef (patch) | |
| tree | 5f0c6c5b1db44f5a4a3d360d4dc09e782a9578f0 /Source/Android/app/src/main/java/org | |
| parent | e0c9dfe67c34dbe39733b75a3de3c785c5eb1378 (diff) | |
| parent | df806125b9e82c41ae0ca6cede895301770f5a64 (diff) | |
Merge pull request #11686 from t895/index-fix
Android: Ignore input from invalid pointer identifier
Diffstat (limited to 'Source/Android/app/src/main/java/org')
| -rw-r--r-- | Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlayPointer.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlayPointer.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlayPointer.java index 1d96f5c617..09d02a174a 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlayPointer.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/overlay/InputOverlayPointer.java @@ -108,20 +108,21 @@ public class InputOverlayPointer break; } - if (trackId == -1) + int eventPointerIndex = event.findPointerIndex(trackId); + if (trackId == -1 || eventPointerIndex == -1) return; if (mMode == MODE_FOLLOW) { - mCurrentX = (event.getX(event.findPointerIndex(trackId)) - mGameCenterX) * mGameWidthHalfInv; - mCurrentY = (event.getY(event.findPointerIndex(trackId)) - mGameCenterY) * mGameHeightHalfInv; + mCurrentX = (event.getX(eventPointerIndex) - mGameCenterX) * mGameWidthHalfInv; + mCurrentY = (event.getY(eventPointerIndex) - mGameCenterY) * mGameHeightHalfInv; } else if (mMode == MODE_DRAG) { mCurrentX = mOldX + - (event.getX(event.findPointerIndex(trackId)) - mTouchStartX) * mGameWidthHalfInv; + (event.getX(eventPointerIndex) - mTouchStartX) * mGameWidthHalfInv; mCurrentY = mOldY + - (event.getY(event.findPointerIndex(trackId)) - mTouchStartY) * mGameHeightHalfInv; + (event.getY(eventPointerIndex) - mTouchStartY) * mGameHeightHalfInv; } } |
