Index: subsystems/win32/win32k/objects/dibobj.c =================================================================== --- subsystems/win32/win32k/objects/dibobj.c (revision 33839) +++ subsystems/win32/win32k/objects/dibobj.c (working copy) @@ -1326,11 +1336,18 @@ *paletteType = PAL_INDEXED; RedMask = GreenMask = BlueMask = 0; } + else if(bmi->bmiHeader.biCompression == BI_BITFIELDS) + { + *paletteType = PAL_BITFIELDS; + RedMask = *(ULONG *)&bmi->bmiColors[0]; + GreenMask = *(ULONG *)&bmi->bmiColors[1]; + BlueMask = *(ULONG *)&bmi->bmiColors[2]; + } else if(bits < 24) { *paletteType = PAL_BITFIELDS; - RedMask = 0xf800; - GreenMask = 0x07e0; + RedMask = 0x7c00; + GreenMask = 0x03e0; BlueMask = 0x001f; } else