diff --git a/win32ss/gdi/gdi32/objects/bitmap.c b/win32ss/gdi/gdi32/objects/bitmap.c index 91e8a0be9e..ef1417801c 100644 --- a/win32ss/gdi/gdi32/objects/bitmap.c +++ b/win32ss/gdi/gdi32/objects/bitmap.c @@ -208,12 +208,20 @@ CreateDIBSection( UINT ConvertedInfoSize; HBITMAP hBitmap = NULL; PVOID bmBits = NULL; + BOOL bReport = FALSE; pConvertedInfo = ConvertBitmapInfo(BitmapInfo, Usage, &ConvertedInfoSize, FALSE); if (pConvertedInfo) { + if (BitmapInfo->bmiHeader.biSize != sizeof(BITMAPINFOHEADER)) + { + DPRINT1("pConvertedInfo->bmiHeader.biSize != sizeof(BITMAPINFOHEADER)\n"); + pConvertedInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + bReport = TRUE; + } + // Verify header due to converted may == info. if (pConvertedInfo->bmiHeader.biSize >= sizeof(BITMAPINFOHEADER)) { @@ -241,8 +249,12 @@ CreateDIBSection( if (Bits) *Bits = bmBits; - - return hBitmap; + if (bReport) + { + if (hBitmap == NULL) DPRINT1("Returning NULL.\n"); + else DPRINT1("Returning hBitmap of '%p'.\n", hBitmap); + } + return hBitmap; }