From 101a7a124021d9c23d71ac0c096074e771f73606 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sat, 15 Apr 2023 03:36:33 +0300 Subject: [PATCH] engine: client: try to fix random crash in CL_ClearWorld when using legacy protocol --- engine/client/cl_game.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/engine/client/cl_game.c b/engine/client/cl_game.c index 2471efc4..43b2e952 100644 --- a/engine/client/cl_game.c +++ b/engine/client/cl_game.c @@ -1066,14 +1066,16 @@ void CL_LinkUserMessage( char *pszName, const int svc_num, int iSize ) void CL_ClearWorld( void ) { - cl_entity_t *worldmodel; + if( clgame.entities ) // check if we have entities, legacy protocol support kinda breaks this logic + { + cl_entity_t *worldmodel = clgame.entities; - worldmodel = clgame.entities; - worldmodel->curstate.modelindex = 1; // world model - worldmodel->curstate.solid = SOLID_BSP; - worldmodel->curstate.movetype = MOVETYPE_PUSH; - worldmodel->model = cl.worldmodel; - worldmodel->index = 0; + worldmodel->curstate.modelindex = 1; // world model + worldmodel->curstate.solid = SOLID_BSP; + worldmodel->curstate.movetype = MOVETYPE_PUSH; + worldmodel->model = cl.worldmodel; + worldmodel->index = 0; + } world.max_recursion = 0;