summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2013-10-16 20:59:13 -0600
committerXiaohong Bao <bao@lindenlab.com>2013-10-16 20:59:13 -0600
commit2b4dfefda216a0333426ac2a8f06d23ee6ef0aee (patch)
tree59510a8ba3c9c78ea90128855d069f2efda4fdd3 /indra
parent816c86a3cbb86ac2ffe9419fccee27219152190d (diff)
more fix for SH-4552: Interesting: objects sometimes fail to load after teleport.
Diffstat (limited to 'indra')
-rwxr-xr-xindra/newview/llviewerregion.cpp2
-rwxr-xr-xindra/newview/llvocache.cpp4
-rwxr-xr-xindra/newview/llvocache.h2
3 files changed, 4 insertions, 4 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index b9c7ded50b..0ad4402dcc 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 f16f3507c3..89a49ff1ed 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 eef364dd5d..21b30f5373 100755
--- a/indra/newview/llvocache.h
+++ b/indra/newview/llvocache.h
@@ -103,7 +103,7 @@ public:
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;}