dont draw borders past the end of a texture
Dana Jansens danakj@orodu.net
1 files changed,
15 insertions(+),
11 deletions(-)
jump to
M
src/Image.cc
→
src/Image.cc
@@ -822,6 +822,8 @@ }
void BImage::border(const BTexture &texture) { + if (width < 2 || height < 2) return; + register unsigned int i; int r = texture.borderColor().red(), g = texture.borderColor().green(),@@ -839,17 +841,19 @@ *pg++ = g;
*pb++ = b; } - // left and right lines (pr,pg,pb are already lined up) - for (i = 1; i < height - 1; ++i) { - *pr = r; - *pg = g; - *pb = b; - pr += width - 1; - pg += width - 1; - pb += width - 1; - *pr++ = r; - *pg++ = g; - *pb++ = b; + if (height > 2) { + // left and right lines (pr,pg,pb are already lined up) + for (i = 1; i < height - 1; ++i) { + *pr = r; + *pg = g; + *pb = b; + pr += width - 1; + pg += width - 1; + pb += width - 1; + *pr++ = r; + *pg++ = g; + *pb++ = b; + } } // bottom line (pr,pg,pb are already lined up)