diff --git "a/win32ss/gdi/ntgdi/dibobj.c" "b/win32ss/gdi/ntgdi/dibobj.c" index 60eb419ca20..88d65a7d045 100644 --- "a/win32ss/gdi/ntgdi/dibobj.c" +++ "b/win32ss/gdi/ntgdi/dibobj.c" @@ -532,7 +532,10 @@ NtGdiSetDIBitsToDeviceInternal( { ScanLines = min(abs(Height), ScanLines); if (YSrc > 0) + { ScanLines += YSrc; + YSrc = 0; + } } else { @@ -582,7 +585,7 @@ NtGdiSetDIBitsToDeviceInternal( SourceSize.cx = bmi->bmiHeader.biWidth; SourceSize.cy = ScanLines; - if (YDest >= 0 && YSrc > 0) + if (YDest >= 0 && YSrc >= 0) { ScanLines += YSrc; }