Index: dll/win32/user32/windows/bitmap.c =================================================================== --- dll/win32/user32/windows/bitmap.c (revision 39857) +++ dll/win32/user32/windows/bitmap.c (working copy) @@ -462,6 +462,12 @@ ColorCount = 1 << BitmapInfo->bmiHeader.biBitCount; HeaderSize = sizeof(BITMAPINFOHEADER) + ColorCount * sizeof(RGBQUAD); } + + if (BitmapInfo->bmiHeader.biCompression == BI_BITFIELDS) + { + HeaderSize += 3 * sizeof(RGBQUAD); + } + Data = (PVOID)((ULONG_PTR)BitmapInfo + HeaderSize); PrivateInfo = RtlAllocateHeap(GetProcessHeap(), 0, HeaderSize);