http://bugs.winehq.org/show_bug.cgi?id=18571
Summary: Top level window loses focus when selecting a menu item Product: Wine Version: 1.1.21 Platform: Other OS/Version: other Status: NEW Severity: normal Priority: P2 Component: user32 AssignedTo: wine-bugs@winehq.org ReportedBy: thunderbird2k@gmail.com
Hi,
For a couple of days I have been trying to locate a bug in a program I'm working. The program itself is written in Smalltalk using Visualworks. Under the hood Visualworks is doing all win32 gui drawing itself (it also works on other platforms).
The program in question has a top level window on which a win32 interface is drawn including a menu bar. Clicking on the menu bar inactivates the top level window. I have been debugging it for some days and I think it is somehow related to SetFocus. Disabling all SetFocus / SetForegroundWindow calls in user32 appears to make the issue disappear. The app itself only calls SetFocus but Wine itself makes SetForegroundWindow calls.
The menu window has WS_POPUP and WS_DISABLED set (the top level window also has WS_DISABLED set). Further Alexandre suspects there is something wrong with the focus handling code in case of WM_MOUSEACTIVATE.
I have uploaded a test app which illustrates the problem to: (note the server isn't always online) http://roderick.student.utwente.nl/menutest.tar.gz I have also attached a log of +win,+msg to here. The app window is called 'vwnt'.
Regards, Roderick
http://bugs.winehq.org/show_bug.cgi?id=18571
--- Comment #1 from Roderick Colenbrander thunderbird2k@gmail.com 2009-05-22 09:42:35 --- Created an attachment (id=21233) --> (http://bugs.winehq.org/attachment.cgi?id=21233) Log using +win,+msg
http://bugs.winehq.org/show_bug.cgi?id=18571
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=18571
--- Comment #2 from Roderick Colenbrander thunderbird2k@gmail.com 2009-05-26 16:18:11 --- I have done some more testing and it seems that the issue doesn't appear in a Wine desktop.
Roderick
http://bugs.winehq.org/show_bug.cgi?id=18571
--- Comment #3 from Roderick Colenbrander thunderbird2k@gmail.com 2009-05-26 16:24:16 --- After closer inspection the issue is there in desktop mode but the title bar doesn't become inactive it only flashes a bit when you move to another menu.
http://bugs.winehq.org/show_bug.cgi?id=18571
--- Comment #4 from Roderick Colenbrander thunderbird2k@gmail.com 2009-06-05 16:45:24 --- The issue disappears in non-desktop mode when setting the decoration option to disabled. I guess some heuristic somewhere in the decoration code is buggy for my app or so.
http://bugs.winehq.org/show_bug.cgi?id=18571
--- Comment #5 from Roderick Colenbrander thunderbird2k@gmail.com 2009-06-11 16:08:55 --- The issue has been fixed (there were 2 bugs) but it wasn't clear whether the bugs were in Wine or not. In the first case VisualWorks emulates menu windows and it used ShowWindow with the flag SW_RESTORE for all types of windows. This didn't look correct, so we changed it to pass SW_NOACTIVATE (which is what is done in wine for standard win32 windows) and now the menu window is unmanaged as it should be.
The second issue is a bug in the smalltalk vm for sure. It recycles window handles for the menu and it then uses SetWindowPos but it doesn't pass SWP_NOACTIVATE, so again the menu window became managed and the app lost focus.
Since this is a very tricky area of win32/winex11.drv I can't say whether it were just app bugs or that there also bugs in Wine.
http://bugs.winehq.org/show_bug.cgi?id=18571
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #6 from Austin English austinenglish@gmail.com 2010-11-27 11:31:29 CST --- Bug 11839 is fixed, without changes in the app, in 1.3.8, so I'll assume this one was fixed in wine as well.
http://bugs.winehq.org/show_bug.cgi?id=18571
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2010-12-10 13:46:19 CST --- Closing bugs fixed in 1.3.9.