diff --git a/stepmania/src/SDL_dither.cpp b/stepmania/src/SDL_dither.cpp index a1bb41ebc4..a9d1a2c1f8 100644 --- a/stepmania/src/SDL_dither.cpp +++ b/stepmania/src/SDL_dither.cpp @@ -97,8 +97,10 @@ void SM_SDL_OrderedDither(const SDL_Surface *src, SDL_Surface *dst) colors[c] = DitherPixel(col, row, colors[c], conv[c]); } - /* Convert the alpha channel, which we didn't dither. */ - colors[3] >>= src_cbits[3] - dst_cbits[3]; + if( src_cbits[3] == 0 ) /* src doesn't have alpha */ + colors[3] = (1<>= src_cbits[3] - dst_cbits[3]; /* Convert the alpha channel, which we didn't dither. */ /* Raw value -> int -> pixel */ mySDL_SetRawRGBAV(dstp, dst, colors);