[GDI32]
authorJérôme Gardou <jerome.gardou@reactos.org>
Wed, 9 Jun 2010 00:18:29 +0000 (00:18 +0000)
committerJérôme Gardou <jerome.gardou@reactos.org>
Wed, 9 Jun 2010 00:18:29 +0000 (00:18 +0000)
  - 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
dll/win32/gdi32/objects/bitmap.c

index 5cc0987..e8b5e63 100644 (file)
@@ -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
index 1b5f66f..1b0d7bc 100644 (file)
@@ -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 )