engine: server: use safe cvar unlinking for mods that deallocate cvars (like HL Unified SDK)

This commit is contained in:
Alibek Omarov 2024-10-03 15:08:18 +03:00
parent 7ccf651fd0
commit 5d79d93aac

View file

@ -5115,6 +5115,8 @@ void SV_SpawnEntities( const char *mapname )
void SV_UnloadProgs( void )
{
pending_cvar_t *pending_cvars_list;
if( !svgame.hInstance )
return;
@ -5124,6 +5126,8 @@ void SV_UnloadProgs( void )
/// SV_UnloadProgs will be disabled
//Mod_ClearUserData ();
pending_cvars_list = Cvar_PrepareToUnlink( FCVAR_EXTDLL );
if( svgame.dllFuncs2.pfnGameShutdown != NULL )
svgame.dllFuncs2.pfnGameShutdown ();
@ -5141,7 +5145,7 @@ void SV_UnloadProgs( void )
// must unlink all game cvars,
// before pointers on them will be lost...
Cvar_Unlink( FCVAR_EXTDLL );
Cvar_UnlinkPendingCvars( pending_cvars_list );
Cmd_Unlink( CMD_SERVERDLL );
SV_FreeStringPool();