From 5d5e5d1a468269fd0dec85fc73a0b0d975936458 Mon Sep 17 00:00:00 2001 From: Doug Lyons Date: Sat, 6 Sep 2025 19:20:44 -0500 Subject: [PATCH] [NTGDI] Fix SAI Paint Tool Initial Graphics Display (#8348) CORE-15002 --- win32ss/gdi/ntgdi/dibobj.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/win32ss/gdi/ntgdi/dibobj.c b/win32ss/gdi/ntgdi/dibobj.c index 60eb419ca20..fd489f4157b 100644 --- a/win32ss/gdi/ntgdi/dibobj.c +++ b/win32ss/gdi/ntgdi/dibobj.c @@ -519,9 +519,9 @@ NtGdiSetDIBitsToDeviceInternal( _SEH2_END; DPRINT("StartScan %d ScanLines %d Bits %p bmi %p ColorUse %d\n" - " Height %d Width %d SizeImage %d\n" + " Height %d Width %d biSizeImage %d\n" " biHeight %d biWidth %d biBitCount %d\n" - " XSrc %d YSrc %d xDext %d yDest %d\n", + " XSrc %d YSrc %d XDest %d YDest %d\n", StartScan, ScanLines, Bits, bmi, ColorUse, Height, Width, bmi->bmiHeader.biSizeImage, bmi->bmiHeader.biHeight, bmi->bmiHeader.biWidth, @@ -532,7 +532,10 @@ NtGdiSetDIBitsToDeviceInternal( { ScanLines = min(abs(Height), ScanLines); if (YSrc > 0) + { ScanLines += YSrc; + YSrc = 0; + } } else { @@ -582,10 +585,6 @@ NtGdiSetDIBitsToDeviceInternal( SourceSize.cx = bmi->bmiHeader.biWidth; SourceSize.cy = ScanLines; - if (YDest >= 0 && YSrc > 0) - { - ScanLines += YSrc; - } //DIBWidth = WIDTH_BYTES_ALIGN32(SourceSize.cx, bmi->bmiHeader.biBitCount);