From 3da26ee8df6cc7e57ba3acbb91437ec97e151002 Mon Sep 17 00:00:00 2001 From: RunitaiLinden Date: Fri, 22 Sep 2023 15:31:49 -0500 Subject: SL-20321 Fix for missing "has_te" check (thanks Henri) --- indra/newview/llgltfmateriallist.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llgltfmateriallist.cpp b/indra/newview/llgltfmateriallist.cpp index a92e699c42..8919229c78 100644 --- a/indra/newview/llgltfmateriallist.cpp +++ b/indra/newview/llgltfmateriallist.cpp @@ -360,8 +360,8 @@ void LLGLTFMaterialList::applyOverrideMessage(LLMessageSystem* msg, const std::s constexpr U32 MAX_TES = 45; bool has_te[MAX_TES] = { false }; - if (tes.isArray()) - { + if (tes.isArray()) // NOTE: if no "te" array exists, this is a malformed message (null out all overrides will come in as an empty te array) + { LLGLTFOverrideCacheEntry cache; cache.mLocalId = local_id; cache.mObjectId = id; @@ -395,7 +395,7 @@ void LLGLTFMaterialList::applyOverrideMessage(LLMessageSystem* msg, const std::s for (U32 i = 0; i < count; ++i) { LLTextureEntry* te = obj->getTE(i); - if (te && te->getGLTFMaterialOverride()) + if (!has_te[i] && te && te->getGLTFMaterialOverride()) { obj->setTEGLTFMaterialOverride(i, nullptr); handle_gltf_override_message.doSelectionCallbacks(id, i); -- cgit v1.2.3