diff options
Diffstat (limited to 'indra/newview/llviewerobjectlist.cpp')
| -rw-r--r-- | indra/newview/llviewerobjectlist.cpp | 10 |
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()) { |
