http://bugs.winehq.org/show_bug.cgi?id=4964
Summary: MDI child not informed of max/minimization Product: Wine Version: 0.9.10. Platform: All OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-x11driver AssignedTo: wine-bugs@winehq.org ReportedBy: juris.smotrovs@sets.lv
Wine does not send WM_SIZE message to MDI child if it has been maximized/minimized so that its size in pixels remains unchanged.
According to MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui... , WM_SIZE should be sent also if the window has become max/minimized, regardless of whether its size in pixels has changed.
In Wine the WM_SIZE message is sent if the flag SWP_NOCLIENTSIZE is not set (see dll/user/defwnd.c, DEFWND_HandleWindowPosChanged(...) ).
However, this flag is set always (see dll/x11drv/winpos.c, SWP_DoWinPosChanging(...) ), unless the window size in pixels has changed (see dll/x11drv/winpos.c, SWP_DoNCCalcSize(...) ). Thus, if the size in pixels has not changed, WM_SIZE is not sent at max/minimization.
A typical situation when this error occurs, is if the application adjusts the size of MDI child to the size of the frame window, so that at maximization the actual size in pixels turns out to be the same.
I will attach a testcase and a patch shortly.