diff options
author | tron <tron@openttd.org> | 2006-09-02 21:52:06 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-09-02 21:52:06 +0000 |
commit | 07199603b44327b9436ef0f878151a66243b45da (patch) | |
tree | 99dfb1ebd76f071a55e7a7d7a678233230d5386c | |
parent | 0fc0586bbff1dbb509a09d2a920f3284834bcc93 (diff) | |
download | openttd-07199603b44327b9436ef0f878151a66243b45da.tar.xz |
(svn r6351) -Fix: Due to some off-by-one errors the width or height of a clipping rectangle could become 0, which isn't sensible. This should fix a very rare and hard to trigger assertion in GfxFillRect()
-rw-r--r-- | gfx.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1862,7 +1862,7 @@ bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int heigh if ((left -= o->left) < 0) { width += left; - if (width < 0) return false; + if (width <= 0) return false; n->left = -left; left = 0; } else { @@ -1871,13 +1871,13 @@ bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int heigh if (width > o->width - left) { width = o->width - left; - if (width < 0) return false; + if (width <= 0) return false; } n->width = width; if ((top -= o->top) < 0) { height += top; - if (height < 0) return false; + if (height <= 0) return false; n->top = -top; top = 0; } else { @@ -1888,7 +1888,7 @@ bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int heigh if (height > o->height - top) { height = o->height - top; - if (height < 0) return false; + if (height <= 0) return false; } n->height = height; |