From 2b4dfefda216a0333426ac2a8f06d23ee6ef0aee Mon Sep 17 00:00:00 2001
From: Xiaohong Bao <bao@lindenlab.com>
Date: Wed, 16 Oct 2013 20:59:13 -0600
Subject: [PATCH] more fix for SH-4552: Interesting: objects sometimes fail to
 load after teleport.

---
 indra/newview/llviewerregion.cpp | 2 +-
 indra/newview/llvocache.cpp      | 4 ++--
 indra/newview/llvocache.h        | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index b9c7ded50bd..0ad4402dcc5 100755
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -2097,7 +2097,7 @@ LLViewerRegion::eCacheUpdateResult LLViewerRegion::cacheFullUpdate(LLDataPackerB
 			else //invisible
 			{
 				//copy some contents from old entry
-				entry->moveTo(new_entry);
+				entry->moveTo(new_entry, true);
 
 				//remove old entry
 				killCacheEntry(entry);
diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp
index f16f3507c33..89a49ff1edc 100755
--- a/indra/newview/llvocache.cpp
+++ b/indra/newview/llvocache.cpp
@@ -191,10 +191,10 @@ void LLVOCacheEntry::setOctreeEntry(LLViewerOctreeEntry* entry)
 	LLViewerOctreeEntryData::setOctreeEntry(entry);
 }
 
-void LLVOCacheEntry::moveTo(LLVOCacheEntry* new_entry)
+void LLVOCacheEntry::moveTo(LLVOCacheEntry* new_entry, bool no_entry_move)
 {
 	//copy LLViewerOctreeEntry
-	if(mEntry.notNull())
+	if(mEntry.notNull() && !no_entry_move)
 	{
 		new_entry->setOctreeEntry(mEntry);
 		mEntry = NULL;
diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h
index eef364dd5de..21b30f53730 100755
--- a/indra/newview/llvocache.h
+++ b/indra/newview/llvocache.h
@@ -103,7 +103,7 @@ class LLVOCacheEntry
 	void recordHit();
 	void recordDupe() { mDupeCount++; }
 	
-	void moveTo(LLVOCacheEntry* new_entry); //copy variables 
+	void moveTo(LLVOCacheEntry* new_entry, bool no_entry_move = false); //copy variables 
 	/*virtual*/ void setOctreeEntry(LLViewerOctreeEntry* entry);
 
 	void setParentID(U32 id) {mParentID = id;}
-- 
GitLab