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:
@@ -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++) {
|
for (j=k+1; j<height; j++) {
|
||||||
memcpy(ptr, tmp, width*3);
|
memcpy(ptr, tmp, width*3);
|
||||||
ptr += width*3;
|
ptr += width*3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
|
|||||||
Reference in New Issue
Block a user