Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Fixed bug 1781 - SDL sets an error for the initial touch on Android.

Philipp Wiesemann

SDL sets an error to be queried with SDL_GetError() for the initial touch on Android.

Android_OnTouch() in SDL_androidtouch.c uses SDL_GetTouch() to check if a touch device was already added. SDL_GetTouch() sets the error "Unknown touch device" for an out of range access because touch devices are added after initial touch. I think this error is confusing because it always happens by design.

I attached a patch which removes the call to SDL_GetTouch() and only uses SDL_AddTouch() which does the check (if already added) again and does not set an error (if not added yet).
  • Loading branch information
slouken committed Apr 2, 2013
1 parent 15fa241 commit ceef26a79cb8e9dc90dc07cabf23b8157253a429
Showing with 2 additions and 4 deletions.
  1. +2 −4 src/video/android/SDL_androidtouch.c
@@ -63,10 +63,8 @@ void Android_OnTouch(int touch_device_id_in, int pointer_finger_id_in, int actio
}

touchDeviceId = (SDL_TouchID)touch_device_id_in;
if (!SDL_GetTouch(touchDeviceId)) {
if (SDL_AddTouch(touchDeviceId, "") < 0) {
SDL_Log("error: can't add touch %s, %d", __FILE__, __LINE__);
}
if (SDL_AddTouch(touchDeviceId, "") < 0) {
SDL_Log("error: can't add touch %s, %d", __FILE__, __LINE__);
}

fingerId = (SDL_FingerID)pointer_finger_id_in;

0 comments on commit ceef26a

Please sign in to comment.