1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 12:28:22 +01:00

Fixed a crashing bug in the multi vertical gradient code.

This commit is contained in:
dan
2000-01-17 04:30:52 +00:00
parent 14939535b6
commit 0d1935e3d8

View File

@@ -398,22 +398,25 @@ renderMVGradient(unsigned width, unsigned height, RColor **colors, int count)
gg = g>>16; gg = g>>16;
bb = b>>16; bb = b>>16;
tmp = ptr; if (k<height) {
for (x=0; x<width/4; x++) { tmp = ptr;
*ptr++ = rr; *ptr++ = gg; *ptr++ = bb; for (x=0; x<width/4; x++) {
*ptr++ = rr; *ptr++ = gg; *ptr++ = bb; *ptr++ = rr; *ptr++ = gg; *ptr++ = bb;
*ptr++ = rr; *ptr++ = gg; *ptr++ = bb; *ptr++ = rr; *ptr++ = gg; *ptr++ = bb;
*ptr++ = rr; *ptr++ = gg; *ptr++ = bb; *ptr++ = rr; *ptr++ = gg; *ptr++ = bb;
} *ptr++ = rr; *ptr++ = gg; *ptr++ = bb;
switch (width%4) { }
case 3: *ptr++ = rr; *ptr++ = gg; *ptr++ = bb; switch (width%4) {
case 2: *ptr++ = rr; *ptr++ = gg; *ptr++ = bb; case 3: *ptr++ = rr; *ptr++ = gg; *ptr++ = bb;
case 1: *ptr++ = rr; *ptr++ = gg; *ptr++ = bb; case 2: *ptr++ = rr; *ptr++ = gg; *ptr++ = bb;
} case 1: *ptr++ = rr; *ptr++ = gg; *ptr++ = bb;
default: break;
for (j=k+1; j<width; j++) { }
memcpy(ptr, tmp, width*3);
ptr += width*3; for (j=k+1; j<height; j++) {
memcpy(ptr, tmp, width*3);
ptr += width*3;
}
} }
return image; return image;