From de95e30718b5b836c4988c2d24adc6654a97324f Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sat, 31 May 2008 12:17:25 +0000 Subject: [PATCH] revert my last change 1. it break vmware drv, for it align each bitmap row it create 2. diffent behoirs in diffent vm this did show we have more serius bug to fix before we can apply correct fix. svn path=/trunk/; revision=33783 --- reactos/subsystems/win32/win32k/objects/dibobj.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/reactos/subsystems/win32/win32k/objects/dibobj.c b/reactos/subsystems/win32/win32k/objects/dibobj.c index e8e5831ff94..bbc598a2b33 100644 --- a/reactos/subsystems/win32/win32k/objects/dibobj.c +++ b/reactos/subsystems/win32/win32k/objects/dibobj.c @@ -665,9 +665,7 @@ NtGdiGetDIBitsInternal(HDC hDC, } else { - ScanLines = min(ScanLines, BitmapObj->SurfObj.sizlBitmap.cy - StartScan); - DestSize.cx = BitmapObj->SurfObj.sizlBitmap.cx; DestSize.cy = ScanLines; @@ -688,9 +686,9 @@ NtGdiGetDIBitsInternal(HDC hDC, if (Info->bmiHeader.biSize == sizeof(BITMAPINFOHEADER)) { - hDestBitmap = EngCreateBitmap(DestSize, - DIB_GetDIBWidthBytes(DestSize.cx, Info->bmiHeader.biBitCount), + /* DIB_GetDIBWidthBytes(DestSize.cx, Info->bmiHeader.biBitCount), */ + DestSize.cx * (Info->bmiHeader.biBitCount >> 3), /* HACK */ BitmapFormat(Info->bmiHeader.biBitCount, Info->bmiHeader.biCompression), 0 < Info->bmiHeader.biHeight ? 0 : BMF_TOPDOWN, Bits); @@ -1220,12 +1218,7 @@ DIB_CreateDIBSection( */ INT FASTCALL DIB_GetDIBWidthBytes (INT width, INT depth) { - /* http://www.osronline.com/DDKx/graphics/gdifncs_9pgn.htm say it must be exacly - * number of byte to next scanline in the bitmap - */ - UINT bytes = ((UINT)(abs(width)) * (UINT)depth) >> 3; - // FIXME : this is wrong return (width * depth + 31) & ~31) >> 3; - return (INT)bytes; + return ((width * depth + 31) & ~31) >> 3; } /*********************************************************************** -- 2.17.1