https://bugs.winehq.org/show_bug.cgi?id=56206
Brendan McGrath bmcgrath@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bmcgrath@codeweavers.com
--- Comment #4 from Brendan McGrath bmcgrath@codeweavers.com --- This seems to be a result of the way the game sets up the dialog. It calls TCM_ADJUSTRECT before adding text to the tabs.
With the Tahoma font, the empty tabs fit in the provided space (380 pixels), but after the text is added it doesn't; hence a second row is added.
But because TCM_ADJUSTRECT was called when only one row existed, the app thinks there is only one row and places the dialog over the second row.
If you click one of the tabs, the app calls TCM_ADJUSTRECT again and recognises the second row (hence the problem goes away).
On Windows, the text fits within the space provided, hence there is only ever one row and no problem (but Wine's font is 9 pixels wider).
The application is using the "MS Shell Dlg" font, which is actually a logical font that is redirected to a real font via a registry setting.
As a work-around, you can change this font from Tahoma to 'Microsoft Sans Serif'. This can be done, for example, with the following command: wine reg ADD 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes' /v 'MS Shell Dlg' /d 'Microsoft Sans Serif' /f
Or, for just one row: wine reg ADD 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes' /v 'MS Shell Dlg' /d 'System' /f
The reason you see this now (and not before 39ae877) is because the widths used in the tabs now reflect the font being used. It's unfortunate that fixing Wine seems to have revealed this applications dependence on Windows sized fonts. But it should really be calling TCM_ADJUSTRECT after the text is added to the tabs.