From 3f6ef52ad96f1c6426d9941e071faec6146cee3f Mon Sep 17 00:00:00 2001 From: James Tabor Date: Mon, 24 Mar 2014 03:28:07 +0000 Subject: [PATCH] - Fix CORE-7791. svn path=/trunk/; revision=62556 --- reactos/win32ss/gdi/ntgdi/bitblt.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/reactos/win32ss/gdi/ntgdi/bitblt.c b/reactos/win32ss/gdi/ntgdi/bitblt.c index 7c5dba4f431..a567290dbda 100644 --- a/reactos/win32ss/gdi/ntgdi/bitblt.c +++ b/reactos/win32ss/gdi/ntgdi/bitblt.c @@ -155,8 +155,26 @@ NtGdiBitBlt( IN DWORD crBackColor, IN FLONG fl) { + DWORD dwTRop; + + if (ROP & CAPTUREBLT) + return NtGdiStretchBlt(hDCDest, + XDest, + YDest, + Width, + Height, + hDCSrc, + XSrc, + YSrc, + Width, + Height, + ROP, + crBackColor); + + dwTRop = ROP & ~(NOMIRRORBITMAP|CAPTUREBLT); + /* Forward to NtGdiMaskBlt */ - // TODO: What's fl for? + // TODO: What's fl for? LOL not to send this to MaskBit! return NtGdiMaskBlt(hDCDest, XDest, YDest, @@ -168,7 +186,7 @@ NtGdiBitBlt( NULL, 0, 0, - ROP, + dwTRop, crBackColor); } @@ -712,6 +730,8 @@ NtGdiStretchBlt( DWORD ROP, IN DWORD dwBackColor) { + DWORD dwTRop = ROP & ~(NOMIRRORBITMAP|CAPTUREBLT); + return GreStretchBltMask( hDCDest, XOriginDest, @@ -723,7 +743,7 @@ NtGdiStretchBlt( YOriginSrc, WidthSrc, HeightSrc, - ROP, + dwTRop, dwBackColor, NULL, 0,