diff --git a/src/events/SDL_touch.c b/src/events/SDL_touch.c index 8b1cf3a6f..fda530520 100644 --- a/src/events/SDL_touch.c +++ b/src/events/SDL_touch.c @@ -302,8 +302,9 @@ SDL_SendTouch(SDL_TouchID id, SDL_FingerID fingerid, SDL_Window * window, finger = SDL_GetFinger(touch, fingerid); if (down) { if (finger) { - /* This finger is already down */ - return 0; + /* This finger is already down. + Assume the finger-up for the previous touch was lost, and send it. */ + SDL_SendTouch(id, fingerid, window, SDL_FALSE, x, y, pressure); } if (SDL_AddFinger(touch, fingerid, x, y, pressure) < 0) {