Author: tkreuzer
Date: Sat Feb 7 17:51:20 2015
New Revision: 66195
URL:
http://svn.reactos.org/svn/reactos?rev=66195&view=rev
Log:
[WIN32K]
Fix the ROP code passed to IntEngStretchBlt from NtGdiStretchDIBitsInternal. Fixes crash
of Nimbus Notes installer.
CORE-9048 #resolve
Modified:
trunk/reactos/win32ss/gdi/ntgdi/dibobj.c
Modified: trunk/reactos/win32ss/gdi/ntgdi/dibobj.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/dibobj.c…
==============================================================================
--- trunk/reactos/win32ss/gdi/ntgdi/dibobj.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/ntgdi/dibobj.c [iso-8859-1] Sat Feb 7 17:51:20 2015
@@ -1161,7 +1161,7 @@
DC_UnlockDc(pdc);
/* Check if we can use NtGdiSetDIBitsToDeviceInternal */
- if (sizel.cx == cxSrc && sizel.cy == cySrc && dwRop == SRCCOPY)
+ if ((sizel.cx == cxSrc) && (sizel.cy == cySrc) && (dwRop ==
SRCCOPY))
{
/* Yes, we can! */
return NtGdiSetDIBitsToDeviceInternal(hdc,
@@ -1270,6 +1270,10 @@
RGB(0xff, 0xff, 0xff),
pdc->pdcattr->crBackgroundClr,
pdc->pdcattr->crForegroundClr);
+
+ /* Mask away everything except foreground rop index */
+ dwRop = dwRop & 0x00FF0000;
+ dwRop |= dwRop << 8;
/* Perform the stretch operation */
bResult = IntEngStretchBlt(&psurfDst->SurfObj,