summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobject.cpp
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2022-10-26 16:08:28 -0500
committerDave Parks <davep@lindenlab.com>2022-10-26 16:08:28 -0500
commit8f47657d646c06dbba8d44497c0f81fd00730cc8 (patch)
treeeec5702e7dc4d83a8bf00c0c7a87272870fcec42 /indra/newview/llviewerobject.cpp
parented1e5214cefc5f0aeb630bf2fbcda9dff9ed8d61 (diff)
SL-18443 Allow nulling out of override data and implement new override message protocol.
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rw-r--r--indra/newview/llviewerobject.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index ac519970b7..7dbe0652b1 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -7115,6 +7115,20 @@ const LLUUID& LLViewerObject::getRenderMaterialID(U8 te) const
void LLViewerObject::setRenderMaterialID(U8 te, const LLUUID& id, bool update_server)
{
+ if (update_server)
+ {
+ // clear out any existing override data and render material
+ getTE(te)->setGLTFMaterialOverride(nullptr);
+ getTE(te)->setGLTFRenderMaterial(nullptr);
+
+ LLCoros::instance().launch("modifyMaterialCoro",
+ std::bind(&LLGLTFMaterialList::modifyMaterialCoro,
+ gAgent.getRegionCapability("ModifyMaterialParams"),
+ llsd::map(
+ "object_id", getID(),
+ "side", te)));
+ }
+
if (id.notNull())
{
getTE(te)->setGLTFMaterial(gGLTFMaterialList.getMaterial(id));