diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2013-10-04 17:54:24 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2013-10-04 17:54:24 -0600 |
commit | c430673b95823f688c45d0fbda4198595bb41073 (patch) | |
tree | 374e79414c777c3644d467a5122addc92e97d8d9 /indra/newview/llviewerregion.cpp | |
parent | 60e0b44f6b5add1274d1bed7b6a672dc0e051a21 (diff) |
more fix for SH-4521: Interesting viewer crash in Pipeline:RenderDrawPools
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rwxr-xr-x | indra/newview/llviewerregion.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 6e9f649d23..2ed7d59ec0 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -377,7 +377,8 @@ LLViewerRegion::LLViewerRegion(const U64 &handle, mPacketsReceived(0.f), mDead(FALSE), mLastVisitedEntry(NULL), - mInvisibilityCheckHistory(-1) + mInvisibilityCheckHistory(-1), + mPaused(FALSE) { mWidth = region_width_meters; mImpl->mOriginGlobal = from_region_handle(handle); @@ -1185,6 +1186,7 @@ void LLViewerRegion::clearCachedVisibleObjects() //reset all occluders mImpl->mVOCachePartition->resetOccluders(); + mPaused = TRUE; //clean visible entries for(LLVOCacheEntry::vocache_entry_set_t::iterator iter = mImpl->mVisibleEntries.begin(); iter != mImpl->mVisibleEntries.end();) @@ -1257,9 +1259,13 @@ BOOL LLViewerRegion::idleUpdate(F32 max_update_time) { return did_update; } - + if(mPaused) + { + mPaused = FALSE; //unpause. + } + //reset all occluders - mImpl->mVOCachePartition->resetOccluders(); + mImpl->mVOCachePartition->resetOccluders(); max_update_time -= update_timer.getElapsedTimeF32(); |