Author: tkreuzer Date: Sun Mar 29 04:25:47 2009 New Revision: 40276
URL: http://svn.reactos.org/svn/reactos?rev=40276&view=rev Log: Patch by Evgeniy Boltik: Always calculate a palette for the DIB in NtGdiGetDIBitsInternal, when dealing with 15 or 16 bit depth. Fixes broken taskbar icons on 16bpp.
Modified: trunk/reactos/subsystems/win32/win32k/objects/dibobj.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/dibobj.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dibobj.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dibobj.c [iso-8859-1] Sun Mar 29 04:25:47 2009 @@ -659,8 +659,10 @@ ColorPtr = ((PBYTE)Info + Info->bmiHeader.biSize); rgbQuads = (RGBQUAD *)ColorPtr;
- /* Copy palette information */ - if (Info->bmiHeader.biBitCount == BitsPerFormat(psurf->SurfObj.iBitmapFormat)) + /* Copy palette information + * Always create a palette for 15 & 16 bit. */ + if (Info->bmiHeader.biBitCount == BitsPerFormat(psurf->SurfObj.iBitmapFormat) && + Info->bmiHeader.biBitCount != 15 && Info->bmiHeader.biBitCount != 16) { hDestPalette = hSourcePalette; bPaletteMatch = TRUE;