diff --git a/win32.c b/win32.c index 10b6d4212a..60e7d29153 100644 --- a/win32.c +++ b/win32.c @@ -700,13 +700,13 @@ static int Win32GdiMainLoop(void) #else if (_wnd.has_focus && GetAsyncKeyState(VK_TAB) < 0) { #endif - if (!_networking && _game_mode != GM_MENU) _fast_forward |= 2; - } else if (_fast_forward&2) { + /* Disable speeding up game with ALT+TAB (if syskey is pressed, the + * real key is in the upper 16 bits (see WM_SYSKEYDOWN in WndProcGdi()) */ + if (((_pressed_key>>16) & WKC_TAB) && !_networking && _game_mode != GM_MENU) _fast_forward |= 2; + } else if (_fast_forward & 2) _fast_forward = 0; - } - - cur_ticks=GetTickCount(); + cur_ticks = GetTickCount(); if ((_fast_forward && !_pause) || cur_ticks > next_tick) next_tick = cur_ticks;