https://bugs.winehq.org/show_bug.cgi?id=37109
Bug ID: 37109 Summary: Tab control waits for two seconds and then hides its children when its WS_TABSTOP/WS_EX_CONTROLPARENT change Product: Wine Version: 1.7.22 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: comctl32 Assignee: wine-bugs@winehq.org Reporter: pietro10@mac.com
Created attachment 49330 --> https://bugs.winehq.org/attachment.cgi?id=49330 Source of program that demonstrates this bug. Only compiles with mingw due to use of asprintf().
For simplicity's sake (and especially since I'm now going to need to make them transparent...), my tab apges are all children of the tab control itself. Because WS_TABSTOP and WS_EX_CONTROLPARENT are mutually exclusive, my tab controls enable the latter before calls to IsDialogMessage() and enable WS_TABSTOP after calls to IsDialogMessage(). The attached program is a basic example with a tab that parents an edit control.
In wine, if you click the sole tab or press Tab while focused on the edit control, you will notice that wine seems to stall for a few seconds, then the tab receives focus and the edit disappears. If you press Tab again, the edit reappears.
On both Windows XP 32-bit and Windows 7 64-bit, both with and without a comctl32.dll v6 manifest, the focus switch happens instantly and the edit does not disappear.
Using wine-1.7.22 from the official Wine PPA and a 64-bit WINEPREFIX (apparently) on Ubuntu 14.04.
Thanks!