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,