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 | 2d9b3aa4cc910c5366678f3b4a1f8609bcf4896f (patch) | |
tree | 99dfb1ebd76f071a55e7a7d7a678233230d5386c | |
parent | edd5f925685e5e13872a0eb8d920f74dba2debee (diff) | |
download | openttd-2d9b3aa4cc910c5366678f3b4a1f8609bcf4896f.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; |