diff options
| author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-03-11 09:19:20 +0000 |
|---|---|---|
| committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-03-11 09:19:20 +0000 |
| commit | 1b1dd127a4329cc7fed9d36608f4fc04ff056843 (patch) | |
| tree | 7c998ab7f4037aee8446817293bedafffd7958c2 /indra/newview/lltextureview.cpp | |
| parent | 6d738f25d9be0f4b576c8a55e9091ced589daf71 (diff) | |
| parent | a618a3913af506878adf59a2c5b5fb12e665e35b (diff) | |
merge.
Diffstat (limited to 'indra/newview/lltextureview.cpp')
| -rw-r--r-- | indra/newview/lltextureview.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp index 98731f90f4..6cd8a78b25 100644 --- a/indra/newview/lltextureview.cpp +++ b/indra/newview/lltextureview.cpp @@ -658,6 +658,14 @@ struct compare_decode_pair } }; +struct KillView +{ + void operator()(LLView* viewp) const + { + viewp->die(); + } +}; + void LLTextureView::draw() { if (!mFreezeView) @@ -665,12 +673,12 @@ void LLTextureView::draw() // LLViewerObject *objectp; // S32 te; - for_each(mTextureBars.begin(), mTextureBars.end(), DeletePointer()); + for_each(mTextureBars.begin(), mTextureBars.end(), KillView()); mTextureBars.clear(); - - delete mGLTexMemBar; + + delete mGLTexMemBar; mGLTexMemBar = 0; - + typedef std::multiset<decode_pair_t, compare_decode_pair > display_list_t; display_list_t display_image_list; @@ -683,6 +691,10 @@ void LLTextureView::draw() iter != gTextureList.mImageList.end(); ) { LLPointer<LLViewerFetchedTexture> imagep = *iter++; + if(!imagep->hasFetcher()) + { + continue ; + } S32 cur_discard = imagep->getDiscardLevel(); S32 desired_discard = imagep->mDesiredDiscardLevel; |
