mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 12:23:25 +00:00
[WIN32K]
- Improve readability in SetBMIColor - Only when BitCount is <= 8, calculate the number of colors in the table - Fixes a crash with VBox driver svn path=/branches/reactos-yarotows/; revision=47724
This commit is contained in:
@@ -1746,13 +1746,16 @@ FORCEINLINE
|
||||
VOID
|
||||
SetBMIColor(CONST BITMAPINFO* pbmi, DWORD* color, INT i)
|
||||
{
|
||||
PVOID pvColors = ((PBYTE)pbmi + pbmi->bmiHeader.biSize);
|
||||
if(pbmi->bmiHeader.biSize == sizeof(BITMAPCOREHEADER))
|
||||
{
|
||||
*(RGBTRIPLE*)((PBYTE)pbmi + pbmi->bmiHeader.biSize + i*sizeof(RGBTRIPLE)) = *(RGBTRIPLE*)color;
|
||||
RGBTRIPLE *pColor = pvColors;
|
||||
pColor[i] = *(RGBTRIPLE*)color;
|
||||
}
|
||||
else
|
||||
{
|
||||
*(RGBQUAD*)((PBYTE)pbmi + pbmi->bmiHeader.biSize + i*sizeof(RGBQUAD)) = *(RGBQUAD*)color;
|
||||
RGBQUAD *pColor = pvColors;
|
||||
pColor[i] = *(RGBQUAD*)color;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1954,7 +1957,7 @@ GetBMIFromBitmapV5Info(IN PBITMAPV5INFO pbmiSrc,
|
||||
ULONG cColorsUsed;
|
||||
|
||||
cColorsUsed = pbmiSrc->bmiHeader.bV5ClrUsed;
|
||||
if (cColorsUsed == 0)
|
||||
if (cColorsUsed == 0 && pbmiSrc->bmiHeader.bV5BitCount <= 8)
|
||||
cColorsUsed = (1 << pbmiSrc->bmiHeader.bV5BitCount);
|
||||
|
||||
if(dwColorUse == DIB_PAL_COLORS)
|
||||
|
||||
Reference in New Issue
Block a user