Upcoming Games

Upcoming Events

No events to display

Linux / Wine 3.17+ Compatibility

You are here: Home > Forum > General > General questions, comments, and issues > Linux / Wine 3.17+ Compatibility

Page 1 of 1

Linux / Wine 3.17+ Compatibility 17/10/2018 at 22:05 #112717
Edgemaster
Avatar
332 posts
Just a quick note that running SimSig on Linux under the latest Wine versions 3.17 or 3.18 has a minor breakage with the scrollbars on the Failures tab of the Options window.
Linux users should hold off updating to these versions for now. I have raised the bug with the Wine developers in their bug tracker as Mantis 46004.

Post has attachments. Log in to view them.
Twitter
Last edited: 17/10/2018 at 22:05 by Edgemaster
Reason: None given

Log in to reply
The following users said thank you: TUT, Muzer, headshot119, Gwasanaethau
Linux / Wine 3.17+ Compatibility 17/10/2018 at 22:30 #112718
Muzer
Avatar
718 posts
Cheers for the heads up!
Log in to reply
Linux / Wine 3.17+ Compatibility 20/10/2018 at 13:40 #112756
Edgemaster
Avatar
332 posts
I've just discovered that, rather more critically, this bug also impacts ground frame operation. :(

This makes me much more likely to dig into the Wine source code myself to fix the issue rather than wait on the upstream devs to fix it themselves...

Twitter
Log in to reply
Linux / Wine 3.17+ Compatibility 24/10/2018 at 04:17 #112852
Hawk777
Avatar
386 posts
Looking at the commit you bisected to, I wonder if maybe SimSig (either intentionally itself, or because Delphi’s GUI toolkit does it) might be subclassing the standard Windows scrollbar window class and registering a different message handler, which would result in the sanity check in SCROLL_GetInternalInfo failing for such scrollbars even though they are legitimate scrollbars? If I remember correctly from my Windows programming days I think subclassing window classes was possible. So, perhaps Wine needs to check for that situation.
Log in to reply
Linux / Wine 3.17+ Compatibility 24/10/2018 at 14:46 #112856
Zoe
Avatar
251 posts
Hawk777 in post 112852 said:
Looking at the commit you bisected to, I wonder if maybe SimSig (either intentionally itself, or because Delphi’s GUI toolkit does it) might be subclassing the standard Windows scrollbar window class and registering a different message handler, which would result in the sanity check in SCROLL_GetInternalInfo failing for such scrollbars even though they are legitimate scrollbars? If I remember correctly from my Windows programming days I think subclassing window classes was possible. So, perhaps Wine needs to check for that situation.

I have no idea what Delphi does but it is certainly possible to change the windows procedure by calling SetWindowLongPtr() with GWLP_WNDPROC as argument 2.

Last edited: 25/10/2018 at 10:07 by Zoe
Reason: None given

Log in to reply
Linux / Wine 3.17+ Compatibility 01/11/2018 at 18:47 #113046
Edgemaster
Avatar
332 posts
Yep, the bug was in the subclassing. Testcases and patches have been written and will hopefully land for Wine 3.20.
Twitter
Log in to reply
Linux / Wine 3.17+ Compatibility 08/11/2018 at 15:10 #113195
Edgemaster
Avatar
332 posts
The fix has landed in the Wine source tree and will be fixed with the Wine 3.20 release.
Twitter
Log in to reply
The following users said thank you: GeoffM, Hawk777, hotwellian
Linux / Wine 3.17+ Compatibility 09/11/2018 at 11:50 #113207
ThomasTim
Avatar
1 posts
Nice! Thanks for the tip!
Log in to reply
Linux / Wine 3.17+ Compatibility 11/11/2018 at 10:30 #113233
Sacro
Avatar
1171 posts
Confirm that the fix is in 3.20!
Log in to reply
The following users said thank you: Edgemaster, hotwellian, Hawk777