From b2878acdb0035b0b8a2ad29ccd1ff817a6055709 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Mon, 18 May 2026 23:54:12 +0300 Subject: #5786 Fix a case of unitialized override matrix --- indra/newview/gltf/llgltfloader.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/indra/newview/gltf/llgltfloader.cpp b/indra/newview/gltf/llgltfloader.cpp index 129c3a3b7a..54ad8c894b 100644 --- a/indra/newview/gltf/llgltfloader.cpp +++ b/indra/newview/gltf/llgltfloader.cpp @@ -1721,8 +1721,16 @@ glm::mat4 LLGLTFLoader::computeViewerBindMatrix( } const JointNodeData& node_data = node_iter->second; + if (!node_data.mIsOverrideValid) + { + // No valid override, falling back to rest matrix. + glm::mat4 fallback_bind = rotateGltfMatrixToViewerSpace(node_data.mGltfRestMatrix); + converted_bind_matrices[gltf_node_index] = fallback_bind; + return fallback_bind; + } + auto bind_iter = rotated_bind_matrices.find(gltf_node_index); - if (bind_iter == rotated_bind_matrices.end() || !node_data.mIsOverrideValid) + if (bind_iter == rotated_bind_matrices.end()) { converted_bind_matrices[gltf_node_index] = node_data.mOverrideRestMatrix; return node_data.mOverrideRestMatrix; -- cgit v1.3