diff --git a/reactos/dll/win32/gdi32/objects/bitmap.c b/reactos/dll/win32/gdi32/objects/bitmap.c index da07b3b7487..13e6741d0b4 100644 --- a/reactos/dll/win32/gdi32/objects/bitmap.c +++ b/reactos/dll/win32/gdi32/objects/bitmap.c @@ -447,8 +447,9 @@ SetDIBitsToDevice( ColorUse, lpbmi->bmiHeader.biSizeImage, lpbmi->bmiHeader.biSize, - FALSE, + TRUE, NULL); } + diff --git a/reactos/subsystems/win32/win32k/objects/dibobj.c b/reactos/subsystems/win32/win32k/objects/dibobj.c index 5abc026add4..7b3fe19095e 100644 --- a/reactos/subsystems/win32/win32k/objects/dibobj.c +++ b/reactos/subsystems/win32/win32k/objects/dibobj.c @@ -372,8 +372,14 @@ NtGdiSetDIBitsToDeviceInternal( rcDest.left = XDest; rcDest.top = YDest; - rcDest.right = XDest + Width; - rcDest.bottom = YDest + Height; + if (bTransformCoordinates) + { + CoordLPtoDP(pDC, (LPPOINT)&rcDest); + } + rcDest.left += pDC->ptlDCOrig.x; + rcDest.top += pDC->ptlDCOrig.y; + rcDest.right = rcDest.left + Width; + rcDest.bottom = rcDest.top + Height; ptSource.x = XSrc; ptSource.y = YSrc;