https://bugs.winehq.org/show_bug.cgi?id=54871
Bug ID: 54871 Summary: kernel32:console - testScroll() fails on Windows 10 1909 Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: kernel32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
kernel32:console - testScroll() fails on Windows 10 1909:
console.c:704: Test failed: ScrollConsoleScreenBufferA failed: 87
See https://test.winehq.org/data/patterns.html#kernel32:console
Where 87 == ERROR_INVALID_PARAMETER
The failing call is:
/* clipping, src & dst rect do overlap */ ... ret = ScrollConsoleScreenBufferA(hCon, &scroll, &clip, dst, &ci);
The parameters are scroll: 0x0-10x6 dst 2x0 clip 5x3-16x10 [1]
Some debugging shows that: * The test is not skipped and succeeds in all other Windows 10 versions, including Windows 10 1809 and 2009. * Despite returning an error ScrollConsoleScreenBufferA() does what it was asked, even on Windows 10 1909! This is why the loop that checks the content of the screen does not report a ton of failures. * ScrollConsoleScreenBufferA() stops returning an error when the destination coordinates are within the clip rectangle.
[1] I'm not sure the 0 Y shift was intentional. It's the result of integer rounding in 7/2-3 = 0.5 -> 0. So this is really only testing an horizontal shift.
https://bugs.winehq.org/show_bug.cgi?id=54871
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase Assignee|wine-bugs@winehq.org |fgouget@codeweavers.com CC| |eric.pouech@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=54871
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |4d3eb56e7cd53f8f6df7717e2b1 | |274691f0ebd70
--- Comment #1 from François Gouget fgouget@codeweavers.com --- This was fixed by:
commit 4d3eb56e7cd53f8f6df7717e2b1274691f0ebd70 Author: François Gouget fgouget@codeweavers.com AuthorDate: Thu Apr 20 14:24:39 2023 +0200
kernel32/tests: Fix the ScrollConsoleScreenBuffer() tests on Windows 10 1909.
On Windows 10 1909 ScrollConsoleScreenBufferA() returns an error if the destination is not within the clip rectangle but still modifies the console buffer as expected! So mark this behavior as very_broken().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54871
https://bugs.winehq.org/show_bug.cgi?id=54871
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.13.