Index: subsystems/win32/win32k/objects/dibobj.c =================================================================== --- subsystems/win32/win32k/objects/dibobj.c (revision 40207) +++ subsystems/win32/win32k/objects/dibobj.c (working copy) @@ -660,7 +660,15 @@ rgbQuads = (RGBQUAD *)ColorPtr; /* Copy palette information */ - if (Info->bmiHeader.biBitCount == BitsPerFormat(psurf->SurfObj.iBitmapFormat)) + //Always we create a palette for 15 & 16 bit. + //Palette Source cannot be used as palette Dest as there is information + //about compression no source. + //For an example Info-> bmiHeader.biBitCount=16 bit, + //biCompression + // BI_RGB = (555) + // BI_BITFIELDS = (555 or 565). + if (Info->bmiHeader.biBitCount == BitsPerFormat(psurf->SurfObj.iBitmapFormat) && + Info->bmiHeader.biBitCount != 15 && Info->bmiHeader.biBitCount != 16) { hDestPalette = hSourcePalette; bPaletteMatch = TRUE;