diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2012-12-12 11:00:24 -0700 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2012-12-12 11:00:24 -0700 |
commit | f2bf13b87768c97ec6a36a183013413bf4b905f0 (patch) | |
tree | caca2a629fa17db34f0190078590df2b92d89526 /indra/newview/llviewerregion.cpp | |
parent | 0270ce079c2090cd25244516648ac1691db00a0d (diff) |
fix for SH-3622: crash on LLViewerRegion::updateVisibleEntries
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rw-r--r-- | indra/newview/llviewerregion.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index e275b44e92..ab692308b0 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -777,25 +777,25 @@ void LLViewerRegion::killCacheEntry(LLVOCacheEntry* entry) return; } - //1, remove from active list and waiting list + //remove from active list and waiting list if(entry->isState(LLVOCacheEntry::ACTIVE)) { mImpl->mActiveSet.erase(entry); } - else if(entry->isState(LLVOCacheEntry::WAITING)) - { - mImpl->mWaitingSet.erase(entry); - } - else if(entry->isState(LLVOCacheEntry::IN_QUEUE)) - { - mImpl->mVisibleEntries.erase(entry); - } - else if(entry->isState(LLVOCacheEntry::INACTIVE)) + else { + if(entry->isState(LLVOCacheEntry::WAITING)) + { + mImpl->mWaitingSet.erase(entry); + } + //remove from mVOCachePartition removeFromVOCacheTree(entry); } + //remove from the forced visible list + mImpl->mVisibleEntries.erase(entry); + //kill LLViewerObject if exists //this should be done by the rendering pipeline automatically. |