Jan Zerebecki jan.wine@zerebecki.de writes:
diff --git a/dlls/user/winpos.c b/dlls/user/winpos.c index 6bc9056..e78f484 100644 --- a/dlls/user/winpos.c +++ b/dlls/user/winpos.c @@ -152,7 +152,20 @@ UINT WINAPI ArrangeIconicWindows( HWND p */ void WINAPI SwitchToThisWindow( HWND hwnd, BOOL restore ) {
- ShowWindow( hwnd, restore ? SW_RESTORE : SW_SHOWMINIMIZED );
- HWND hwndOld = GetForegroundWindow();
- SetActiveWindow( hwnd );
- SetForegroundWindow( hwnd );
- if ( restore )
- {
if ( IsIconic( hwnd ) )
ShowWindow( hwnd, SW_RESTORE );
- }
- else
- {
if ( !( GetWindowLongW( hwndOld, GWL_EXSTYLE ) & WS_EX_TOPMOST ) )
SetWindowPos( hwndOld, HWND_BOTTOM, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE );
- }
That HWND_BOTTOM thing looks very wrong, SwitchToThisWindow is supposed to move things to the front. Most likely your test case is flawed.