From 54e2569bf0583ee4f15d4ff10bc1f4276f3cea7e Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 9 Jun 2010 00:18:29 +0000 Subject: [PATCH] [GDI32] - Header describes the bitmap to be created, not the bits we are passed. - Circumvent gcc weirdness (sigh...) svn path=/branches/reactos-yarotows/; revision=47702 --- dll/win32/gdi32/include/gdi32p.h | 8 ++++---- dll/win32/gdi32/objects/bitmap.c | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dll/win32/gdi32/include/gdi32p.h b/dll/win32/gdi32/include/gdi32p.h index 5cc09870a94..e8b5e63952d 100644 --- a/dll/win32/gdi32/include/gdi32p.h +++ b/dll/win32/gdi32/include/gdi32p.h @@ -146,7 +146,7 @@ typedef BOOL (WINAPI *STARTPAGEPRINTER) (HANDLE); typedef BOOL (WINAPI *SEEKPRINTER) (HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD,BOOL); typedef BOOL (WINAPI *SPLREADPRINTER) (HANDLE,LPBYTE *,DWORD); // Same as ddk/winsplp.h DriverUnloadComplete? -typedef BOOL (WINAPI *SPLDRIVERUNLOADCOMPLETE) (LPWSTR); +typedef BOOL (WINAPI *SPLDRIVERUNLOADCOMPLETE) (LPWSTR); // Driver support: // DrvDocumentEvent api/winddiui.h not W2k8 DocumentEventAW typedef INT (WINAPI *DOCUMENTEVENT) (HANDLE,HDC,INT,ULONG,PVOID,ULONG,PVOID); @@ -173,10 +173,10 @@ HEAP_strdupA2W( VOID HEAP_free(LPVOID memory); -VOID +VOID FASTCALL FONT_TextMetricWToA( - const TEXTMETRICW *ptmW, + const TEXTMETRICW *ptmW, LPTEXTMETRICA ptmA ); @@ -279,7 +279,7 @@ WINAPI GdiSetLastError( DWORD dwErrCode ); DWORD WINAPI GdiGetCodePage(HDC); -UINT FASTCALL DIB_BitmapBitsSize( PBITMAPINFO ); +UINT FASTCALL DIB_BitmapBitsSize( CONST BITMAPINFO* ); int WINAPI diff --git a/dll/win32/gdi32/objects/bitmap.c b/dll/win32/gdi32/objects/bitmap.c index 1b5f66f0ba9..1b0d7bc118d 100644 --- a/dll/win32/gdi32/objects/bitmap.c +++ b/dll/win32/gdi32/objects/bitmap.c @@ -34,7 +34,7 @@ DIB_BitmapMaxBitsSize( PBITMAPINFO Info, UINT ScanLines ) UINT FASTCALL -DIB_BitmapBitsSize( PBITMAPINFO Info ) +DIB_BitmapBitsSize( CONST BITMAPINFO* Info ) { UINT Ret; @@ -476,7 +476,8 @@ CreateDIBitmap( HDC hDC, // For Icm support. // GdiGetHandleUserData(hdc, GDI_OBJECT_TYPE_DC, (PVOID)&pDc_Attr)) - cjBmpScanSize = DIB_BitmapBitsSize((LPBITMAPINFO)Header); + /* Mmmh, this is not really safe */ + cjBmpScanSize = DIB_BitmapBitsSize(Data); DPRINT("pBMI %x, Size bpp %d, dibsize %d, Conv %d, BSS %d\n", Data,bpp,dibsize,ConvertedInfoSize,cjBmpScanSize); if ( !width || !height ) -- 2.17.1