summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerregion.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2012-12-12 11:00:24 -0700
committerXiaohong Bao <bao@lindenlab.com>2012-12-12 11:00:24 -0700
commitf2bf13b87768c97ec6a36a183013413bf4b905f0 (patch)
treecaca2a629fa17db34f0190078590df2b92d89526 /indra/newview/llviewerregion.cpp
parent0270ce079c2090cd25244516648ac1691db00a0d (diff)
fix for SH-3622: crash on LLViewerRegion::updateVisibleEntries
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rw-r--r--indra/newview/llviewerregion.cpp20
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.