diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/emulation/overlay/InputOverlay.java b/Source/Android/src/org/dolphinemu/dolphinemu/emulation/overlay/InputOverlay.java index 9dffa00f5b0d..5df8841814e6 100644 --- a/Source/Android/src/org/dolphinemu/dolphinemu/emulation/overlay/InputOverlay.java +++ b/Source/Android/src/org/dolphinemu/dolphinemu/emulation/overlay/InputOverlay.java @@ -122,12 +122,16 @@ public boolean onTouch(View v, MotionEvent event) for (InputOverlayDrawableButton button : overlayButtons) { if (button.getBounds().contains((int)event.getX(), (int)event.getY())) + { NativeLibrary.onTouchEvent(0, button.getId(), buttonState); + } else + { // Because the above code only changes the state for the button that is being touched, sliding off the // button does not allow for it to be released. Release the button as soon as the touch coordinates leave // the button bounds. NativeLibrary.onTouchEvent(0, button.getId(), ButtonState.RELEASED); + } }