From 6781b3215c338637ea7d42176afd618a3ae7bf70 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Sun, 16 Apr 2023 14:35:01 +0200 Subject: [PATCH] Fix null pointer crash when drawing sprites with a null actor --- src/rendering/hwrenderer/scene/hw_spritelight.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rendering/hwrenderer/scene/hw_spritelight.cpp b/src/rendering/hwrenderer/scene/hw_spritelight.cpp index d0a4e88b48..2eb8ac68e5 100644 --- a/src/rendering/hwrenderer/scene/hw_spritelight.cpp +++ b/src/rendering/hwrenderer/scene/hw_spritelight.cpp @@ -51,7 +51,7 @@ class ActorTraceStaticLight public: ActorTraceStaticLight(AActor* actor) : Actor(actor) { - if (Actor->Pos() != Actor->StaticLightsTraceCache.Pos) + if (Actor && Actor->Pos() != Actor->StaticLightsTraceCache.Pos) { Actor->StaticLightsTraceCache.Pos = Actor->Pos(); Actor->StaticLightsTraceCache.Bits = 0; @@ -62,7 +62,7 @@ public: bool TraceLightVisbility(FLightNode* node, const FVector3& L, float dist) { FDynamicLight* light = node->lightsource; - if (!light->Trace() || !level.levelMesh) + if (!light->Trace() || !level.levelMesh || !Actor) return true; if (!ActorMoved && CurrentBit < 64) @@ -82,7 +82,7 @@ public: bool TraceSunVisibility(float x, float y, float z) { - if (level.LMTextureCount == 0) + if (level.LMTextureCount == 0 || !Actor) return false; if (!ActorMoved && CurrentBit < 64)