diff --git a/libs/video/renderer/gl/gl_rmain.c b/libs/video/renderer/gl/gl_rmain.c index 315eb9af8..bfe4129d4 100644 --- a/libs/video/renderer/gl/gl_rmain.c +++ b/libs/video/renderer/gl/gl_rmain.c @@ -160,6 +160,9 @@ static void R_DrawViewModel (void) { entity_t ent = vr_data.view_model; + if (!Entity_Valid (ent)) { + return; + } renderer_t *renderer = Ent_GetComponent (ent.id, scene_renderer, ent.reg); if (vr_data.inhibit_viewmodel || !r_drawviewmodel diff --git a/libs/video/renderer/glsl/glsl_main.c b/libs/video/renderer/glsl/glsl_main.c index 0ce686ef2..0df960345 100644 --- a/libs/video/renderer/glsl/glsl_main.c +++ b/libs/video/renderer/glsl/glsl_main.c @@ -116,6 +116,9 @@ static void R_DrawViewModel (void) { entity_t ent = vr_data.view_model; + if (!Entity_Valid (ent)) { + return; + } renderer_t *renderer = Ent_GetComponent (ent.id, scene_renderer, ent.reg); if (vr_data.inhibit_viewmodel || !r_drawviewmodel diff --git a/libs/video/renderer/sw/sw_rmain.c b/libs/video/renderer/sw/sw_rmain.c index 5f5f5d040..dadc8c254 100644 --- a/libs/video/renderer/sw/sw_rmain.c +++ b/libs/video/renderer/sw/sw_rmain.c @@ -377,6 +377,9 @@ R_DrawViewModel (void) return; viewent = vr_data.view_model; + if (!Entity_Valid (viewent)) { + return; + } renderer_t *renderer = Ent_GetComponent (viewent.id, scene_renderer, viewent.reg); diff --git a/libs/video/renderer/vulkan/vulkan_main.c b/libs/video/renderer/vulkan/vulkan_main.c index d334883a7..9bcc0dc1e 100644 --- a/libs/video/renderer/vulkan/vulkan_main.c +++ b/libs/video/renderer/vulkan/vulkan_main.c @@ -108,6 +108,9 @@ static void Vulkan_DrawViewModel (vulkan_ctx_t *ctx) { entity_t ent = vr_data.view_model; + if (!Entity_Valid (ent)) { + return; + } renderer_t *renderer = Ent_GetComponent (ent.id, scene_renderer, ent.reg); if (vr_data.inhibit_viewmodel || !r_drawviewmodel