diff --git a/engine/client/cl_game.c b/engine/client/cl_game.c index 2b64bec0..66a0fc76 100644 --- a/engine/client/cl_game.c +++ b/engine/client/cl_game.c @@ -3914,7 +3914,6 @@ void CL_UnloadProgs( void ) Cvar_FullSet( "host_clientloaded", "0", FCVAR_READ_ONLY ); COM_FreeLibrary( clgame.hInstance ); - VGui_Shutdown(); Mem_FreePool( &cls.mempool ); Mem_FreePool( &clgame.mempool ); memset( &clgame, 0, sizeof( clgame )); diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index c5807555..518f4225 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -3089,10 +3089,6 @@ CL_Shutdown */ void CL_Shutdown( void ) { - // already freed - if( !cls.initialized ) return; - cls.initialized = false; - Con_Printf( "CL_Shutdown()\n" ); if( !host.crashed ) @@ -3109,6 +3105,9 @@ void CL_Shutdown( void ) Mobile_Shutdown (); SCR_Shutdown (); CL_UnloadProgs (); + cls.initialized = false; + + VGui_Shutdown(); FS_Delete( "demoheader.tmp" ); // remove tmp file SCR_FreeCinematic (); // release AVI's *after* client.dll because custom renderer may use them @@ -3116,4 +3115,5 @@ void CL_Shutdown( void ) R_Shutdown (); Con_Shutdown (); + }