Mercurial > sdl-ios-xcode
annotate test/testver.c @ 5126:d79ff339d1f2
Fixed bug #1056 (Frequent crashes in Touch events by simply touching the screen)
Joseba GarcĂa Echebarria 2010-12-15 01:55:22 PST
I believe the crash is caused by a check not being performed on wether an
SDL_Touch element is NULL before using it in the SDL_SendTouchMotion function
in src/events/SDL_touch.c around line 400.
Judging from the rest of the code, there's a missing
if (!touch) {
return 0;
}
before using "touch" as SDL_GetFinger(), SDL_GetFingerIndexId() use
touch->num_fingers without checking.
I can attach a patch if you like. It seems pretty straightforward, though.
I have yet to discover why touch is being returned as NULL as this error is
only triggered when an actual gesture has been performed, maybe something
related to SDL_AddTouch()?
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 28 Jan 2011 10:21:58 -0800 |
parents | 5e7e1f1a4056 |
children |
rev | line source |
---|---|
0 | 1 |
2 /* Test program to compare the compile-time version of SDL with the linked | |
3 version of SDL | |
4 */ | |
5 | |
6 #include <stdio.h> | |
1154
d93862a3d821
Fixed compiler warnings in Watcom C.
Ryan C. Gordon <icculus@icculus.org>
parents:
850
diff
changeset
|
7 #include <stdlib.h> |
0 | 8 |
9 #include "SDL.h" | |
10 | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1154
diff
changeset
|
11 int |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1154
diff
changeset
|
12 main(int argc, char *argv[]) |
0 | 13 { |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1154
diff
changeset
|
14 SDL_version compiled; |
2983
388c5a2daeac
Fine tuned revision code, updated testver
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
15 SDL_version linked; |
0 | 16 |
2983
388c5a2daeac
Fine tuned revision code, updated testver
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
17 #if SDL_VERSION_ATLEAST(1, 3, 0) |
388c5a2daeac
Fine tuned revision code, updated testver
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
18 printf("Compiled with SDL 1.3 or newer\n"); |
0 | 19 #else |
2983
388c5a2daeac
Fine tuned revision code, updated testver
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
20 printf("Compiled with SDL older than 1.3\n"); |
0 | 21 #endif |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1154
diff
changeset
|
22 SDL_VERSION(&compiled); |
4419
5e7e1f1a4056
Changed revision details to be a string (an hg changeset) instead of an int.
Ryan C. Gordon <icculus@icculus.org>
parents:
2983
diff
changeset
|
23 printf("Compiled version: %d.%d.%d (%s)\n", |
2983
388c5a2daeac
Fine tuned revision code, updated testver
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
24 compiled.major, compiled.minor, compiled.patch, SDL_REVISION); |
388c5a2daeac
Fine tuned revision code, updated testver
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
25 SDL_GetVersion(&linked); |
4419
5e7e1f1a4056
Changed revision details to be a string (an hg changeset) instead of an int.
Ryan C. Gordon <icculus@icculus.org>
parents:
2983
diff
changeset
|
26 printf("Linked version: %d.%d.%d (%s)\n", |
2983
388c5a2daeac
Fine tuned revision code, updated testver
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
27 linked.major, linked.minor, linked.patch, SDL_GetRevision()); |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1154
diff
changeset
|
28 SDL_Quit(); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1154
diff
changeset
|
29 return (0); |
0 | 30 } |