diff options
author | McCabe Maxsted | 2009-03-01 04:17:42 -0700 |
---|---|---|
committer | McCabe Maxsted | 2009-03-01 04:17:42 -0700 |
commit | bc0cc449e0ab73effeb6cd113048943f53213367 (patch) | |
tree | 492cfd269f0466b1a367eb26e2836aa54ef1cd35 | |
parent | Fixed crash involving file picker and locales (patch by Alissa Sabre) (diff) | |
download | meta-impy-bc0cc449e0ab73effeb6cd113048943f53213367.zip meta-impy-bc0cc449e0ab73effeb6cd113048943f53213367.tar.gz meta-impy-bc0cc449e0ab73effeb6cd113048943f53213367.tar.bz2 meta-impy-bc0cc449e0ab73effeb6cd113048943f53213367.tar.xz |
Backported possible crash fix while changing graphics settings from 1.22
Diffstat (limited to '')
-rw-r--r-- | ChangeLog.txt | 3 | ||||
-rw-r--r-- | linden/indra/newview/pipeline.cpp | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index e187605..d6d0f90 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt | |||
@@ -18,6 +18,9 @@ | |||
18 | Applied patch for VWR-5575 (crash in the file picker dealing | 18 | Applied patch for VWR-5575 (crash in the file picker dealing |
19 | with accented characters and bad locale) by Alissa Sabre. | 19 | with accented characters and bad locale) by Alissa Sabre. |
20 | 20 | ||
21 | * linden/indra/newview/pipeline.cpp: | ||
22 | Backported possible crash fix while changing graphics settings from 1.22. | ||
23 | |||
21 | 24 | ||
22 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | 25 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
23 | =- 1.1.0 RC2 -= | 26 | =- 1.1.0 RC2 -= |
diff --git a/linden/indra/newview/pipeline.cpp b/linden/indra/newview/pipeline.cpp index 3523635..e7db166 100644 --- a/linden/indra/newview/pipeline.cpp +++ b/linden/indra/newview/pipeline.cpp | |||
@@ -2665,6 +2665,18 @@ void LLPipeline::renderForSelect(std::set<LLViewerObject*>& objects, BOOL render | |||
2665 | LLGLState::checkClientArrays(); | 2665 | LLGLState::checkClientArrays(); |
2666 | U32 last_type = 0; | 2666 | U32 last_type = 0; |
2667 | 2667 | ||
2668 | // If we don't do this, we crash something on changing graphics settings | ||
2669 | // from Medium -> Low, because we unload all the shaders and the | ||
2670 | // draw pools aren't aware. I don't know if this has to be a separate | ||
2671 | // loop before actual rendering. JC | ||
2672 | for (pool_set_t::iterator iter = mPools.begin(); iter != mPools.end(); ++iter) | ||
2673 | { | ||
2674 | LLDrawPool *poolp = *iter; | ||
2675 | if (poolp->isFacePool() && hasRenderType(poolp->getType())) | ||
2676 | { | ||
2677 | poolp->prerender(); | ||
2678 | } | ||
2679 | } | ||
2668 | for (pool_set_t::iterator iter = mPools.begin(); iter != mPools.end(); ++iter) | 2680 | for (pool_set_t::iterator iter = mPools.begin(); iter != mPools.end(); ++iter) |
2669 | { | 2681 | { |
2670 | LLDrawPool *poolp = *iter; | 2682 | LLDrawPool *poolp = *iter; |