Index: reactos/win32ss/gdi/dib/dib24bpp.c =================================================================== --- reactos/win32ss/gdi/dib/dib24bpp.c (revision 75147) +++ reactos/win32ss/gdi/dib/dib24bpp.c (working copy) @@ -409,6 +409,8 @@ LONG SrcHeight; LONG SrcWidth; + iTransColor &= 0x00FFFFFF; + DstHeight = DestRect->bottom - DestRect->top; DstWidth = DestRect->right - DestRect->left; SrcHeight = SourceRect->bottom - SourceRect->top; @@ -429,7 +431,7 @@ SourceSurf->sizlBitmap.cx > SourceX && SourceSurf->sizlBitmap.cy > SourceY) { Source = DIB_GetSourceIndex(SourceSurf, SourceX, SourceY); - if(Source != iTransColor) + if((Source & 0x00FFFFFF) != iTransColor) { Dest = XLATEOBJ_iXlate(ColorTranslation, Source) & 0xFFFFFF; *(PUSHORT)(DestBits) = Dest & 0xFFFF; Index: reactos/win32ss/gdi/dib/dib32bpp.c =================================================================== --- reactos/win32ss/gdi/dib/dib32bpp.c (revision 75147) +++ reactos/win32ss/gdi/dib/dib32bpp.c (working copy) @@ -292,6 +292,8 @@ LONG SrcHeight; LONG SrcWidth; + iTransColor &= 0x00FFFFFF; + DstHeight = DestRect->bottom - DestRect->top; DstWidth = DestRect->right - DestRect->left; SrcHeight = SourceRect->bottom - SourceRect->top; @@ -312,7 +314,7 @@ SourceSurf->sizlBitmap.cx > SourceX && SourceSurf->sizlBitmap.cy > SourceY) { Source = DIB_GetSourceIndex(SourceSurf, SourceX, SourceY); - if (Source != iTransColor) + if ((Source & 0x00FFFFFF) != iTransColor) { *DestBits = XLATEOBJ_iXlate(ColorTranslation, Source); }