From 7a907ce614e61c67097013a773e42e07b7c46fcc Mon Sep 17 00:00:00 2001 From: Andrey Nazarov Date: Sun, 23 Sep 2007 14:21:49 +0000 Subject: Fixed sv_paused not being reset in some situations which lead to stalled server connects when listen server is running. --- source/sv_main.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'source/sv_main.c') diff --git a/source/sv_main.c b/source/sv_main.c index b850bf8..879ef59 100644 --- a/source/sv_main.c +++ b/source/sv_main.c @@ -1334,24 +1334,29 @@ static void SV_RunGameFrame( void ) { static qboolean SV_CheckPaused( void ) { client_t *client; - sv_paused->integer = 0; if( sv.state == ss_broadcast ) { - cl_paused->integer = 0; - return qfalse; // never pause in MVD client mode + goto nopause; // never pause in MVD client mode } + if( cl_paused->integer ) { FOR_EACH_CLIENT( client ) { if( client->state != cs_spawned ) { break; // never pause if loading } if( !NET_IsLocalAddress( &client->netchan->remote_address ) ) { - cl_paused->integer = 0; - return qfalse; // never pause in multiplayer + goto nopause; // never pause in multiplayer } } - sv_paused->integer = 1; + if( !sv_paused->integer ) { + Cvar_Set( "sv_paused", "1" ); + } return qtrue; // don't run if paused } + +nopause: + if( sv_paused->integer ) { + Cvar_Set( "sv_paused", "0" ); + } return qfalse; } #endif -- cgit v1.2.3