Android: Ignore input from invalid pointer identifier

This commit is contained in:
Charles Lombardo 2023-03-22 21:44:37 -04:00
parent eb7d7836fd
commit df806125b9
1 changed files with 6 additions and 5 deletions

View File

@ -108,20 +108,21 @@ public class InputOverlayPointer
break; break;
} }
if (trackId == -1) int eventPointerIndex = event.findPointerIndex(trackId);
if (trackId == -1 || eventPointerIndex == -1)
return; return;
if (mMode == MODE_FOLLOW) if (mMode == MODE_FOLLOW)
{ {
mCurrentX = (event.getX(event.findPointerIndex(trackId)) - mGameCenterX) * mGameWidthHalfInv; mCurrentX = (event.getX(eventPointerIndex) - mGameCenterX) * mGameWidthHalfInv;
mCurrentY = (event.getY(event.findPointerIndex(trackId)) - mGameCenterY) * mGameHeightHalfInv; mCurrentY = (event.getY(eventPointerIndex) - mGameCenterY) * mGameHeightHalfInv;
} }
else if (mMode == MODE_DRAG) else if (mMode == MODE_DRAG)
{ {
mCurrentX = mOldX + mCurrentX = mOldX +
(event.getX(event.findPointerIndex(trackId)) - mTouchStartX) * mGameWidthHalfInv; (event.getX(eventPointerIndex) - mTouchStartX) * mGameWidthHalfInv;
mCurrentY = mOldY + mCurrentY = mOldY +
(event.getY(event.findPointerIndex(trackId)) - mTouchStartY) * mGameHeightHalfInv; (event.getY(eventPointerIndex) - mTouchStartY) * mGameHeightHalfInv;
} }
} }