diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2013-08-06 18:03:23 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2013-08-06 18:03:23 -0600 |
commit | be8d04c358086d6650fe7a8195949ba6c11096ae (patch) | |
tree | f9c6d8b62c9dfee772c549de309a35682b4a20bc /indra/newview/llvocache.cpp | |
parent | ddef4d7ff74ecff49e76afca58d1d3c2486e8af3 (diff) |
fix for SH-4398: Interesting: viewer crash in LLVOCacheEntry::updateParentBoundingInfo
Diffstat (limited to 'indra/newview/llvocache.cpp')
-rwxr-xr-x | indra/newview/llvocache.cpp | 22 |
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) |