diff options
author | Dave Parks <davep@lindenlab.com> | 2022-11-08 12:23:08 -0600 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2022-11-08 12:23:08 -0600 |
commit | ee6e34c0996837af5659859d4989ed74b4471e98 (patch) | |
tree | 3641505145ac9415ca6041143a452ce9e4c4ec85 /indra/newview/llviewerobject.cpp | |
parent | 40d01ba39388c5400e2582145e77295c51f33fc3 (diff) | |
parent | 080421decbac73c85d878b7e734ad4e2cfb0f251 (diff) |
Merge branch 'DRTVWR-559' of ssh://bitbucket.org/lindenlab/viewer into DRTVWR-559
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
-rw-r--r-- | indra/newview/llviewerobject.cpp | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index a649387795..1efc4ea3d5 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -7215,25 +7215,30 @@ void LLViewerObject::setRenderMaterialID(S32 te_in, const LLUUID& id, bool updat "object_id", getID(), "side", te), nullptr)); } + } - // update and send LLRenderMaterialParams - LLRenderMaterialParams* param_block = (LLRenderMaterialParams*)getParameterEntry(LLNetworkData::PARAMS_RENDER_MATERIAL); - if (!param_block && id.notNull()) - { // block doesn't exist, but it will need to - param_block = (LLRenderMaterialParams*) createNewParameterEntry(LLNetworkData::PARAMS_RENDER_MATERIAL)->data; - } + // update and send LLRenderMaterialParams + LLRenderMaterialParams* param_block = (LLRenderMaterialParams*)getParameterEntry(LLNetworkData::PARAMS_RENDER_MATERIAL); + if (!param_block && id.notNull()) + { // block doesn't exist, but it will need to + param_block = (LLRenderMaterialParams*)createNewParameterEntry(LLNetworkData::PARAMS_RENDER_MATERIAL)->data; + } - if (param_block) - { // update existing parameter block - for (S32 te = start_idx; te < end_idx; ++te) - { - param_block->setMaterial(te, id); - } + if (param_block) + { // update existing parameter block + for (S32 te = start_idx; te < end_idx; ++te) + { + param_block->setMaterial(te, id); + } + if (update_server) + { + // If 'in use' changes, it will send an update itself. bool in_use_changed = setParameterEntryInUse(LLNetworkData::PARAMS_RENDER_MATERIAL, !param_block->isEmpty(), true); if (!in_use_changed) - { // in use didn't change, but the parameter did + { + // In use didn't change, but the parameter did, send an update parameterChanged(LLNetworkData::PARAMS_RENDER_MATERIAL, param_block, !param_block->isEmpty(), true); } } |