From bd6101bf1386adea75aa7024995447267dd97106 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Thu, 19 Dec 2024 03:31:18 +0100 Subject: [PATCH] Fix crash if the BLAS turned out to be completely empty --- src/common/rendering/hwrenderer/data/hw_collision.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/common/rendering/hwrenderer/data/hw_collision.cpp b/src/common/rendering/hwrenderer/data/hw_collision.cpp index bfb98a22a..341490ddb 100644 --- a/src/common/rendering/hwrenderer/data/hw_collision.cpp +++ b/src/common/rendering/hwrenderer/data/hw_collision.cpp @@ -124,7 +124,10 @@ void CPUAccelStruct::Update() std::unique_ptr CPUAccelStruct::CreateBLAS(int indexStart, int indexCount) { - return std::make_unique(Mesh->Mesh.Vertices.Data(), Mesh->Mesh.Vertices.Size(), &Mesh->Mesh.Indexes[indexStart], indexCount, Scratch); + auto accelstruct = std::make_unique(Mesh->Mesh.Vertices.Data(), Mesh->Mesh.Vertices.Size(), &Mesh->Mesh.Indexes[indexStart], indexCount, Scratch); + if (accelstruct->GetRoot() == -1) + return {}; + return accelstruct; } static FVector3 SwapYZ(const FVector3& v)