Browse Source

engine: client: move vgui deinitialization out of CL_UnloadProgs. Delete cls.initialized check in CL_Shutdown, that used to shutdown various client-side subsystems that usually have needed checks by themselves

pull/2/head
Alibek Omarov 3 years ago
parent
commit
6c7d57e1eb
  1. 1
      engine/client/cl_game.c
  2. 8
      engine/client/cl_main.c

1
engine/client/cl_game.c

@ -3914,7 +3914,6 @@ void CL_UnloadProgs( void )
Cvar_FullSet( "host_clientloaded", "0", FCVAR_READ_ONLY ); Cvar_FullSet( "host_clientloaded", "0", FCVAR_READ_ONLY );
COM_FreeLibrary( clgame.hInstance ); COM_FreeLibrary( clgame.hInstance );
VGui_Shutdown();
Mem_FreePool( &cls.mempool ); Mem_FreePool( &cls.mempool );
Mem_FreePool( &clgame.mempool ); Mem_FreePool( &clgame.mempool );
memset( &clgame, 0, sizeof( clgame )); memset( &clgame, 0, sizeof( clgame ));

8
engine/client/cl_main.c

@ -3089,10 +3089,6 @@ CL_Shutdown
*/ */
void CL_Shutdown( void ) void CL_Shutdown( void )
{ {
// already freed
if( !cls.initialized ) return;
cls.initialized = false;
Con_Printf( "CL_Shutdown()\n" ); Con_Printf( "CL_Shutdown()\n" );
if( !host.crashed ) if( !host.crashed )
@ -3109,6 +3105,9 @@ void CL_Shutdown( void )
Mobile_Shutdown (); Mobile_Shutdown ();
SCR_Shutdown (); SCR_Shutdown ();
CL_UnloadProgs (); CL_UnloadProgs ();
cls.initialized = false;
VGui_Shutdown();
FS_Delete( "demoheader.tmp" ); // remove tmp file FS_Delete( "demoheader.tmp" ); // remove tmp file
SCR_FreeCinematic (); // release AVI's *after* client.dll because custom renderer may use them SCR_FreeCinematic (); // release AVI's *after* client.dll because custom renderer may use them
@ -3116,4 +3115,5 @@ void CL_Shutdown( void )
R_Shutdown (); R_Shutdown ();
Con_Shutdown (); Con_Shutdown ();
} }

Loading…
Cancel
Save