summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2013-06-21 13:02:20 -0600
committerXiaohong Bao <bao@lindenlab.com>2013-06-21 13:02:20 -0600
commit92339583e6454bd6e769a6dcb0ad2eee31abfb1f (patch)
treec2980a73bed471e1397bb0939a34d8f34ba6744c /indra
parent7d88994edc38cf1c037877a5c7c86e35818b7b79 (diff)
for SH-4241: viewer crash shortly after login in LLViewerRegion::addNewObject
Diffstat (limited to 'indra')
-rwxr-xr-xindra/newview/llviewerregion.cpp2
-rwxr-xr-xindra/newview/llvocache.cpp7
2 files changed, 8 insertions, 1 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index a2fd440895..c3c791c158 100755
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -992,7 +992,7 @@ void LLViewerRegion::removeFromVOCacheTree(LLVOCacheEntry* entry)
//add the visible entries
void LLViewerRegion::addVisibleCacheEntry(LLVOCacheEntry* entry)
{
- if(mDead || !entry)
+ if(mDead || !entry || !entry->getEntry())
{
return;
}
diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp
index 93daf2e171..216a91e1dc 100755
--- a/indra/newview/llvocache.cpp
+++ b/indra/newview/llvocache.cpp
@@ -244,6 +244,13 @@ U32 LLVOCacheEntry::getMinFrameRange()const
void LLVOCacheEntry::addChild(LLVOCacheEntry* entry)
{
llassert(entry != NULL);
+ llassert(entry->getParentID() == mLocalID);
+ llassert(entry->getEntry() != NULL);
+
+ if(!entry || !entry->getEntry() || entry->getParentID() != mLocalID)
+ {
+ return;
+ }
mChildrenList.push_back(entry);
}