diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2013-10-16 20:59:13 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2013-10-16 20:59:13 -0600 |
commit | 2b4dfefda216a0333426ac2a8f06d23ee6ef0aee (patch) | |
tree | 59510a8ba3c9c78ea90128855d069f2efda4fdd3 /indra/newview | |
parent | 816c86a3cbb86ac2ffe9419fccee27219152190d (diff) |
more fix for SH-4552: Interesting: objects sometimes fail to load after teleport.
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/llviewerregion.cpp | 2 | ||||
-rwxr-xr-x | indra/newview/llvocache.cpp | 4 | ||||
-rwxr-xr-x | 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 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;} |