summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobjectlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewerobjectlist.cpp')
-rw-r--r--indra/newview/llviewerobjectlist.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index caabd66780..48b8a8da59 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -386,7 +386,7 @@ LLViewerObject* LLViewerObjectList::processObjectUpdateFromCache(LLVOCacheEntry*
objectp->setLastUpdateType(OUT_FULL_COMPRESSED); //newly cached
objectp->setLastUpdateCached(true);
}
- LLVOAvatar::cullAvatarsByPixelArea();
+ LLVOAvatar::setCullNeedsUpdate();
return objectp;
}
@@ -683,7 +683,7 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
objectp->setLastUpdateType(update_type);
}
- LLVOAvatar::cullAvatarsByPixelArea();
+ LLVOAvatar::setCullNeedsUpdate();
}
void LLViewerObjectList::processCompressedObjectUpdate(LLMessageSystem *mesgsys,
@@ -1379,6 +1379,7 @@ void LLViewerObjectList::killObjects(LLViewerRegion *regionp)
void LLViewerObjectList::killAllObjects()
{
+ LL_PROFILE_ZONE_SCOPED;
// Used only on global destruction.
// Mass cleanup to not clear lists one item at a time
@@ -1401,7 +1402,10 @@ void LLViewerObjectList::killAllObjects()
gMeshRepo.unregisterAllMeshes();
- cleanDeadObjects(false);
+ // Direct clear instead of cleanDeadObjects - all objects are already dead
+ mObjects.clear();
+ mDeadObjects.clear();
+ mNumDeadObjects = 0;
if(!mObjects.empty())
{