summaryrefslogtreecommitdiff
path: root/indra/newview/llvocache.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2013-08-06 18:03:23 -0600
committerXiaohong Bao <bao@lindenlab.com>2013-08-06 18:03:23 -0600
commitbe8d04c358086d6650fe7a8195949ba6c11096ae (patch)
treef9c6d8b62c9dfee772c549de309a35682b4a20bc /indra/newview/llvocache.cpp
parentddef4d7ff74ecff49e76afca58d1d3c2486e8af3 (diff)
fix for SH-4398: Interesting: viewer crash in LLVOCacheEntry::updateParentBoundingInfo
Diffstat (limited to 'indra/newview/llvocache.cpp')
-rwxr-xr-xindra/newview/llvocache.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp
index 9beb81bcdd..1b68fee4c1 100755
--- a/indra/newview/llvocache.cpp
+++ b/indra/newview/llvocache.cpp
@@ -263,6 +263,28 @@ void LLVOCacheEntry::addChild(LLVOCacheEntry* entry)
}
}
+void LLVOCacheEntry::removeChild(LLVOCacheEntry* entry)
+{
+ for(S32 i = 0; i < mChildrenList.size(); i++)
+ {
+ if(mChildrenList[i] == entry)
+ {
+ entry->setParentID(0);
+ mChildrenList[i] = mChildrenList[mChildrenList.size() - 1];
+ mChildrenList.pop_back();
+ }
+ }
+}
+
+void LLVOCacheEntry::removeAllChildren()
+{
+ for(S32 i = 0; i < mChildrenList.size(); i++)
+ {
+ mChildrenList[i]->setParentID(0);
+ }
+ mChildrenList.clear();
+}
+
LLDataPackerBinaryBuffer *LLVOCacheEntry::getDP(U32 crc)
{
if ( (mCRC != crc)