summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerregion.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2013-10-04 17:54:24 -0600
committerXiaohong Bao <bao@lindenlab.com>2013-10-04 17:54:24 -0600
commitc430673b95823f688c45d0fbda4198595bb41073 (patch)
tree374e79414c777c3644d467a5122addc92e97d8d9 /indra/newview/llviewerregion.cpp
parent60e0b44f6b5add1274d1bed7b6a672dc0e051a21 (diff)
more fix for SH-4521: Interesting viewer crash in Pipeline:RenderDrawPools
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rwxr-xr-xindra/newview/llviewerregion.cpp12
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();