summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-09-07 16:50:34 +0000
committerDana Jansens <danakj@orodu.net>2002-09-07 16:50:34 +0000
commit70fed8c96297b3f0a97607a38bd60a8419b9aac7 (patch)
tree9417a4e6880c57160a07f56392e9441043d85a5e /src
parent8d54452b7715a6298deffee6eff43d1025edae81 (diff)
dont draw borders past the end of a texture
Diffstat (limited to 'src')
-rw-r--r--src/Image.cc26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/Image.cc b/src/Image.cc
index 4b27d495..2094c003 100644
--- a/src/Image.cc
+++ b/src/Image.cc
@@ -822,6 +822,8 @@ void BImage::bevel2(void) {
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 @@ void BImage::border(const BTexture &texture) {
*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)