Hello, this prevents an infinite loop in some cases. Changelog: Dmitry Timoshkov <dmitry@xxxxxxxxxxxxxxx> Add SWP_FRAMECHANGED only if window state is changed. --- cvs/hq/wine/dlls/x11drv/winpos.c Thu Sep 18 10:44:20 2003 +++ wine/dlls/x11drv/winpos.c Mon Nov 3 21:30:52 2003 @@ -1282,10 +1282,13 @@ BOOL X11DRV_ShowWindow( HWND hwnd, INT c case SW_SHOWNORMAL: /* same as SW_NORMAL: */ case SW_SHOWDEFAULT: /* FIXME: should have its own handler */ case SW_RESTORE: - swp |= SWP_SHOWWINDOW | SWP_FRAMECHANGED; + swp |= SWP_SHOWWINDOW; if( wndPtr->dwStyle & (WS_MINIMIZE | WS_MAXIMIZE) ) + { swp |= WINPOS_MinMaximize( hwnd, SW_RESTORE, &newPos ); + swp |= SWP_FRAMECHANGED; + } else swp |= SWP_NOSIZE | SWP_NOMOVE; break; }