Index: source/main.cpp =================================================================== --- source/main.cpp +++ source/main.cpp @@ -369,9 +369,9 @@ g_UserReporter.Update(); g_Console->Update(realTimeSinceLastFrame); - + bool inFullScreen = g_VideoMode.isInFullscreen(); ogl_WarnIfError(); - if (need_render) + if (need_render && !g_app_minimized && ((g_app_has_focus && inFullScreen) || !inFullScreen)) { Render(); Index: source/ps/VideoMode.h =================================================================== --- source/ps/VideoMode.h +++ source/ps/VideoMode.h @@ -53,6 +53,11 @@ bool SetFullscreen(bool fullscreen); /** + * Returns true if window runs in fullscreen mode + */ + bool isInFullscreen(); + + /** * Switch between fullscreen and windowed mode. */ bool ToggleFullscreen(); Index: source/ps/VideoMode.cpp =================================================================== --- source/ps/VideoMode.cpp +++ source/ps/VideoMode.cpp @@ -400,7 +400,10 @@ { return SetFullscreen(!m_IsFullscreen); } - +bool CVideoMode::isInFullscreen() +{ + return m_IsFullscreen; +} void CVideoMode::UpdatePosition(int x, int y) { if (!m_IsFullscreen)