aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--code/unix/unix_main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/code/unix/unix_main.c b/code/unix/unix_main.c
index 7b3a85e..e0afa7a 100644
--- a/code/unix/unix_main.c
+++ b/code/unix/unix_main.c
@@ -1400,6 +1400,18 @@ int main ( int argc, char* argv[] )
while (1)
{
+#if !defined( DEDICATED ) && USE_SDL_VIDEO
+ int appState = SDL_GetAppState( );
+
+ // If we have no input focus at all, sleep a bit
+ if( !( appState & ( SDL_APPMOUSEFOCUS | SDL_APPINPUTFOCUS ) ) )
+ usleep( 16000 );
+
+ // If we're minimised, sleep a bit more
+ if( !( appState & SDL_APPACTIVE ) )
+ usleep( 32000 );
+#endif
+
#ifdef __linux__
Sys_ConfigureFPU();
#endif