diff options
| author | Xiaohong Bao <bao@lindenlab.com> | 2013-06-21 13:02:20 -0600 | 
|---|---|---|
| committer | Xiaohong Bao <bao@lindenlab.com> | 2013-06-21 13:02:20 -0600 | 
| commit | 92339583e6454bd6e769a6dcb0ad2eee31abfb1f (patch) | |
| tree | c2980a73bed471e1397bb0939a34d8f34ba6744c | |
| parent | 7d88994edc38cf1c037877a5c7c86e35818b7b79 (diff) | |
for SH-4241: viewer crash shortly after login in LLViewerRegion::addNewObject
| -rwxr-xr-x | indra/newview/llviewerregion.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llvocache.cpp | 7 | 
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);  } | 
