Fixed bug 1638 - Blit Alpha surface bug

The DUFFS_LOOP_124() macro was trying to be too clever and wasn't doing the right thing, it was checking n & 4 instead of width.
I'm not sure how we didn't catch this before, but it should be fixed now.
This commit is contained in:
Sam Lantinga 2013-08-01 01:29:07 -07:00
parent 72d8cda7bb
commit da00f7ef51

View file

@ -510,13 +510,15 @@ do { \
if (n & 2) { \
pixel_copy_increment2; n -= 2; \
} \
if (n & 4) { \
pixel_copy_increment4; n -= 4; \
} \
if (n) { \
n = (n+7)/ 8; \
switch (n & 4) { \
case 0: do { pixel_copy_increment4; \
case 4: pixel_copy_increment4; \
} while (--n > 0); \
} \
n /= 8; \
do { \
pixel_copy_increment4; \
pixel_copy_increment4; \
} while (--n > 0); \
} \
}