summaryrefslogtreecommitdiff
path: root/indra/newview/pipeline.cpp
diff options
context:
space:
mode:
authorBrad Linden <brad@lindenlab.com>2024-04-09 14:17:34 -0700
committerBrad Linden <brad@lindenlab.com>2024-04-09 14:17:34 -0700
commit5a47a3cb2366b9da9a595d37c88703497e111005 (patch)
tree1e255fecfda9bf1582d8d76a48e950a561a811a1 /indra/newview/pipeline.cpp
parent03c75201605067b0e97aba0333f8ea6d45d10804 (diff)
parentda9a1dcb55548a249ff7a1255f3e518696b81245 (diff)
Merge remote-tracking branch 'origin/main' into release/materials_featurette
Diffstat (limited to 'indra/newview/pipeline.cpp')
-rw-r--r--indra/newview/pipeline.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index ef6e7c3994..85f4ccd86f 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -1697,17 +1697,23 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)
void LLPipeline::removeMutedAVsLights(LLVOAvatar* muted_avatar)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
- for (light_set_t::iterator iter = gPipeline.mNearbyLights.begin();
- iter != gPipeline.mNearbyLights.end(); iter++)
- {
- const LLViewerObject *vobj = iter->drawable->getVObj();
- if (vobj && vobj->getAvatar()
- && vobj->isAttachment() && vobj->getAvatar() == muted_avatar)
- {
- gPipeline.mLights.erase(iter->drawable);
- gPipeline.mNearbyLights.erase(iter);
- }
- }
+ light_set_t::iterator iter = gPipeline.mNearbyLights.begin();
+ while (iter != gPipeline.mNearbyLights.end())
+ {
+ const LLViewerObject* vobj = iter->drawable->getVObj();
+ if (vobj
+ && vobj->getAvatar()
+ && vobj->isAttachment()
+ && vobj->getAvatar() == muted_avatar)
+ {
+ gPipeline.mLights.erase(iter->drawable);
+ iter = gPipeline.mNearbyLights.erase(iter);
+ }
+ else
+ {
+ iter++;
+ }
+ }
}
U32 LLPipeline::addObject(LLViewerObject *vobj)