[ros-diffs] [greatlrd] 33873: BugFix : NtGdiPatBlt did not call on NtGdiMaskBlt when source have been set in ROP
greatlrd at svn.reactos.org
greatlrd at svn.reactos.org
Sat Jun 7 01:37:42 CEST 2008
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/objects/bitblt.c?rev=33873&r1=33872&r2=33873&view=diff
==============================================================================
--- 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);
More information about the Ros-diffs
mailing list