Navigation Menu

Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Prevented SDL_SendDown from sending on nonexistent touch devices.
Browse files Browse the repository at this point in the history
  • Loading branch information
jimtla committed Jul 29, 2010
1 parent 5190f5e commit 9a69cda
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
21 changes: 19 additions & 2 deletions src/events/SDL_touch.c
Expand Up @@ -312,6 +312,10 @@ SDL_SendFingerDown(int id, int fingerid, SDL_bool down, int x, int y, int pressu
int posted;
SDL_Touch* touch = SDL_GetTouch(id);

if(!touch) {
return SDL_TouchNotFoundError(id);
}

if(down) {
SDL_Finger *finger = SDL_GetFinger(touch,fingerid);
if(finger == NULL) {
Expand Down Expand Up @@ -374,7 +378,10 @@ SDL_SendTouchMotion(int id, int fingerid, int relative,
int yrel;
int x_max = 0, y_max = 0;

if (!touch || touch->flush_motion) {
if (!touch) {
return SDL_TouchNotFoundError(id);
}
if(touch->flush_motion) {
return 0;
}

Expand Down Expand Up @@ -459,8 +466,9 @@ SDL_SendTouchButton(int id, Uint8 state, Uint8 button)
int posted;
Uint32 type;


if (!touch) {
return 0;
return SDL_TouchNotFoundError(id);
}

/* Figure out which event to perform */
Expand Down Expand Up @@ -510,4 +518,13 @@ SDL_GetTouchName(int id)
return touch->name;
}

int SDL_TouchNotFoundError(int id) {
printf("ERROR: Cannot send touch on non-existent device with id: %i make sure SDL_AddTouch has been called\n",id);
printf("ERROR: There are %i touches installed with Id's:\n",SDL_num_touch);
int i;
for(i=0;i < SDL_num_touch;i++) {
printf("ERROR: %i\n",SDL_touchPads[i]->id);
}
return 0;
}
/* vi: set ts=4 sw=4 expandtab: */
2 changes: 1 addition & 1 deletion src/video/cocoa/SDL_cocoawindow.m
Expand Up @@ -313,7 +313,7 @@ - (void)handleTouches:(cocoaTouchType)type withEvent:(NSEvent *)event
touch.pressureres = touch.pressure_max - touch.pressure_min;

if (SDL_AddTouch(&touch, "") < 0) {
return;
continue;
}
}
float x = [touch normalizedPosition].x;
Expand Down

0 comments on commit 9a69cda

Please sign in to comment.