diff --git a/engine/client/cl_game.c b/engine/client/cl_game.c index 76a84a12..8fff1123 100644 --- a/engine/client/cl_game.c +++ b/engine/client/cl_game.c @@ -3898,6 +3898,9 @@ void CL_UnloadProgs( void ) { if( !clgame.hInstance ) return; + if( GI->internal_vgui_support ) + VGui_Shutdown(); + CL_FreeEdicts(); CL_FreeTempEnts(); CL_FreeViewBeams(); diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index fc46a8a1..5666ed8a 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -3138,7 +3138,9 @@ void CL_Shutdown( void ) CL_UnloadProgs (); cls.initialized = false; - VGui_Shutdown(); + // for client-side VGUI support we use other order + if( !GI->internal_vgui_support ) + VGui_Shutdown(); FS_Delete( "demoheader.tmp" ); // remove tmp file SCR_FreeCinematic (); // release AVI's *after* client.dll because custom renderer may use them