Author: jimtabor Date: Sat Nov 15 20:19:43 2008 New Revision: 37385
URL: http://svn.reactos.org/svn/reactos?rev=37385&view=rev Log: - Fix AlphaBlend checks that pass wine bitmap gdi32 crosstests. Tested in 16 and 24 bit mode Qemu and 32 bit mode hardware, with our AlphaBlend rendering demo program.
Modified: trunk/reactos/subsystems/win32/win32k/objects/bitblt.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/bitblt.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/bitblt.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/bitblt.c [iso-8859-1] Sat Nov 15 20:19:43 2008 @@ -96,11 +96,24 @@ DestRect.top = YOriginDest; DestRect.right = XOriginDest + WidthDest; DestRect.bottom = YOriginDest + HeightDest; + IntLPtoDP(DCDest, (LPPOINT)&DestRect, 2);
SourceRect.left = XOriginSrc; SourceRect.top = YOriginSrc; SourceRect.right = XOriginSrc + WidthSrc; SourceRect.bottom = YOriginSrc + HeightSrc; + IntLPtoDP(DCSrc, (LPPOINT)&SourceRect, 2); + + if (!DestRect.right || + !DestRect.bottom || + !SourceRect.right || + !SourceRect.bottom) + { + if (hDCSrc != hDCDest) + DC_UnlockDc(DCSrc); + DC_UnlockDc(DCDest); + return TRUE; + }
/* Determine surfaces to be used in the bitblt */ BitmapDest = BITMAPOBJ_LockBitmap(DCDest->w.hBitmap);