Fix regression introducted by added parameter check in SDL_EnclosePoints. Add special case to speedup when no result was requested.
This commit is contained in:
parent
d7cb5c41ca
commit
b1185bef03
1 changed files with 12 additions and 1 deletions
|
@ -141,7 +141,7 @@ SDL_EnclosePoints(const SDL_Point * points, int count, const SDL_Rect * clip,
|
||||||
int maxy = 0;
|
int maxy = 0;
|
||||||
int x, y, i;
|
int x, y, i;
|
||||||
|
|
||||||
if (!points || !clip) {
|
if (!points) {
|
||||||
// TODO error message
|
// TODO error message
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
}
|
}
|
||||||
|
@ -167,6 +167,12 @@ SDL_EnclosePoints(const SDL_Point * points, int count, const SDL_Rect * clip,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!added) {
|
if (!added) {
|
||||||
|
/* Special case: if no result was requested, we are done */
|
||||||
|
if (result == NULL) {
|
||||||
|
return SDL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First point added */
|
||||||
minx = maxx = x;
|
minx = maxx = x;
|
||||||
miny = maxy = y;
|
miny = maxy = y;
|
||||||
added = SDL_TRUE;
|
added = SDL_TRUE;
|
||||||
|
@ -187,6 +193,11 @@ SDL_EnclosePoints(const SDL_Point * points, int count, const SDL_Rect * clip,
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
/* Special case: if no result was requested, we are done */
|
||||||
|
if (result == NULL) {
|
||||||
|
return SDL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* No clipping, always add the first point */
|
/* No clipping, always add the first point */
|
||||||
minx = maxx = points[0].x;
|
minx = maxx = points[0].x;
|
||||||
miny = maxy = points[0].y;
|
miny = maxy = points[0].y;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue