summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2008-12-18 18:23:51 -0800
committerEric Anholt <[email protected]>2008-12-18 18:32:07 -0800
commitaa09e0a1d532d0de2e094957d0509a7f60ebeafa (patch)
tree4785a9d930d19af316f2fe730763b232aa352b78
parentd9b92b112fb64005c71edf1158f7dffabc4659bb (diff)
mesa: Correct _mesa_clip_to_region() off-by-one.
Note how if: x + width == xmax + 0: width -= 0 x + width == xmax + 1: width -= 0 x + width == xmax + 2: width -= 1 So, the function was clipping to [xmin, xmax+1), not [xmin, xmax) like it was supposed to. Same for ymax.
-rw-r--r--src/mesa/main/image.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c
index 4551b4a3b5b..6b19fc8454c 100644
--- a/src/mesa/main/image.c
+++ b/src/mesa/main/image.c
@@ -5152,7 +5152,7 @@ _mesa_clip_to_region(GLint xmin, GLint ymin,
/* right clipping */
if (*x + *width > xmax)
- *width -= (*x + *width - xmax - 1);
+ *width -= (*x + *width - xmax);
if (*width <= 0)
return GL_FALSE;
@@ -5165,7 +5165,7 @@ _mesa_clip_to_region(GLint xmin, GLint ymin,
/* top (or bottom) clipping */
if (*y + *height > ymax)
- *height -= (*y + *height - ymax - 1);
+ *height -= (*y + *height - ymax);
if (*height <= 0)
return GL_FALSE;