Author: greatlrd
Date: Fri Jun 6 18:37:41 2008
New Revision: 33873
URL:
http://svn.reactos.org/svn/reactos?rev=33873&view=rev
Log:
BugFix : NtGdiPatBlt did not call on NtGdiMaskBlt when source have been set in ROP
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/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/bitblt.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/bitblt.c [iso-8859-1] Fri Jun 6
18:37:41 2008
@@ -1070,10 +1070,18 @@
DWORD ROP)
{
PGDIBRUSHOBJ BrushObj;
- DC *dc = DC_LockDc(hDC);
+ DC *dc;
PDC_ATTR Dc_Attr;
+ BOOL UsesSource = ROP3_USES_SOURCE(ROP);
BOOL ret;
+ if (UsesSource)
+ {
+ /* in this case we call on GdiMaskBlt */
+ return NtGdiMaskBlt(hDC, XLeft, YLeft, Width, Height, 0,0,0,0,0,0,ROP,0);
+ }
+
+ dc = DC_LockDc(hDC);
if (dc == NULL)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);