http://bugs.winehq.org/show_bug.cgi?id=4434
Summary: The window of Word 95 is restored immediately when minimizing it Product: Wine Version: CVS Platform: Other OS/Version: other Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: wine-x11driver AssignedTo: wine-bugs@winehq.org ReportedBy: hallo@michael-kaufmann.ch
If you try to minimize the window of Microsoft Word 95, it reappears immediately.
This mainly happens because Word 95 calls SetWindowLong twice in its WM_NCACTIVATE handler: The first time it removes the WS_VISIBLE style, the second time it adds this style again.
There are two problems: - The X11 driver updates the X11 window's style when Word 95 changes the WS_VISIBLE style (in dlls/x11drv/winpos.c: X11DRV_SetWindowStyle). Because the window gets mapped when Word 95 restores the WS_VISIBLE style, the window appears again.
- The X11 driver doesn't know that the window has been minimized when it sends the WM_NCACTIVATE notification. It receives the FocusOut event before the UnmapNotify event. The WM_NCACTIVATE notification gets sent by the FocusOut event. The FocusOut event handler calls SetForegroundWindow(0), and this function calls set_active_window (dlls/user/focus.c), which finally sends the WM_NCACTIVATE notification.
I'll attach a demo program with source.