https://bugs.winehq.org/show_bug.cgi?id=46004
Bug ID: 46004 Summary: SimSig: scroll bars in Options window do not render Product: Wine Version: 3.17 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: grand.edgemaster@gmail.com Distribution: ---
Created attachment 62572 --> https://bugs.winehq.org/attachment.cgi?id=62572 screenshot of failed scroll bars
In SimSig's Options dialog, one page of configuration options are controlled using scrollbars. See: https://www.simsig.co.uk/Wiki/Show?page=usertrack:ssrun:func:f3:optionsfailu...
Since Wine 3.17, the scroll bars on this tab fail to initialise, have corrupted rendering, and do not function. [See attached screenshot.] The bug is also present in 3.18 and the master branch.
This error message is produced when the window tab containing the scroll bars is selected: 0009:warn:scroll:SCROLL_GetInternalInfo Cannot initialize nBar=2
I have bisected this error to be caused by commit b8ef42c9fd165da5c31d8f68f2ae39b77e9101f5. Reverting this commit on master resolves this issue for SimSig.
Full reproduction steps: Installation: 1. Download from [free registration required]: https://www.simsig.co.uk/File/Details/852 2. Install using standard installer. [Launch checkbox on final screen will fail.] 3. Execute C:\Program Files\SimSig\SimSigLoader.exe 4. Click 'Check for updates' 5. Click 'Install/Update Automatically' [or manually, minimum of 1 simulation is required].
Reproduction: 1. Execute C:\Program Files\SimSig\SimSigLoader.exe 2. Click 'Start a new simulation'. 3. Select any simulation. 4. Click Start. 5. Select from the menu Show > Options [F3]. 6. Select the 'Failures' tab. 7. Observe broken scrollbars.
https://bugs.winehq.org/show_bug.cgi?id=46004
Thomas Wood grand.edgemaster@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |b8ef42c9fd165da5c31d8f68f2a | |e39b77e9101f5 Keywords| |download, regression CC| |jacek@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=46004
--- Comment #1 from Jacek Caban jacek@codeweavers.com --- Please attach win,scroll,msg,class,seh logs.
https://bugs.winehq.org/show_bug.cgi?id=46004
--- Comment #2 from Thomas Wood grand.edgemaster@gmail.com --- Created attachment 62575 --> https://bugs.winehq.org/attachment.cgi?id=62575 First 40k lines of requested debug log
https://bugs.winehq.org/show_bug.cgi?id=46004
--- Comment #3 from Thomas Wood grand.edgemaster@gmail.com --- Created attachment 62576 --> https://bugs.winehq.org/attachment.cgi?id=62576 Second 40k lines of requested debug log
The suspected errors in question occur at around line 35351 of the second debug log.
The whole log was too large to upload as one file, and I couldn't reduce the length of the reproduction to limit log size. I exited the application in using Ctrl-C after the fault occurred.
https://bugs.winehq.org/show_bug.cgi?id=46004
--- Comment #4 from Thomas Wood grand.edgemaster@gmail.com --- Created attachment 62625 --> https://bugs.winehq.org/attachment.cgi?id=62625 Delphi TScrollBar minimal testcase
I've been able to reduce the issue to impact any use of the Delphi TScrollBar control. I have attached a minimal testcase .exe of a form with a single scrollbar control. The corresponding source code is at https://github.com/IgnoredAmbience/testscrollbar
I will replace the previously uploaded logs with trace logs for this new testcase.
https://bugs.winehq.org/show_bug.cgi?id=46004
Thomas Wood grand.edgemaster@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #62575|0 |1 is obsolete| | Attachment #62576|0 |1 is obsolete| |
--- Comment #5 from Thomas Wood grand.edgemaster@gmail.com --- Created attachment 62626 --> https://bugs.winehq.org/attachment.cgi?id=62626 debug log for minimal testcase [WINEDEBUG=+win,+scroll,+msg,+class,+seh]
https://bugs.winehq.org/show_bug.cgi?id=46004
--- Comment #6 from Jacek Caban jacek@codeweavers.com --- Thanks for the test case, it makes debugging much easier.
It looks like scroll functions are called on a window that is of its own class, but has matching extra size and calls scrollbar's window proc. The attached patch helps.
I suspected such use case could work and tested it before sending the original patch. My testing showed that it doesn't work, but maybe I missed something. It needs more testing.
https://bugs.winehq.org/show_bug.cgi?id=46004
--- Comment #7 from Jacek Caban jacek@codeweavers.com --- Created attachment 62628 --> https://bugs.winehq.org/attachment.cgi?id=62628 fix
https://bugs.winehq.org/show_bug.cgi?id=46004
--- Comment #8 from Thomas Wood grand.edgemaster@gmail.com --- Thanks, can confirm this fixes the issue for the testcase and originally reported bug in SimSig when applied to the current master branch.
https://bugs.winehq.org/show_bug.cgi?id=46004
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #62628|0 |1 is obsolete| |
--- Comment #9 from Jacek Caban jacek@codeweavers.com --- Created attachment 62669 --> https://bugs.winehq.org/attachment.cgi?id=62669 fix
I sent related tests to Wine. I'm attaching a better version of the fix that works with those tests.
https://bugs.winehq.org/show_bug.cgi?id=46004
--- Comment #10 from Thomas Wood grand.edgemaster@gmail.com --- New patch also confirmed as working for the originally reported software. Many thanks. Looking forward to seeing this landing in the development release soon.
https://bugs.winehq.org/show_bug.cgi?id=46004
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Fixed by SHA1| |8c8701befb785b93a1ca6e42241 | |f0b112ffd7069 Resolution|--- |FIXED
--- Comment #11 from Jacek Caban jacek@codeweavers.com --- The fix is in Git. Thanks for the report.
https://bugs.winehq.org/show_bug.cgi?id=46004
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.20.