diff options
author | Rick Pasetto <rick@lindenlab.com> | 2009-11-12 09:23:57 -0800 |
---|---|---|
committer | Rick Pasetto <rick@lindenlab.com> | 2009-11-12 09:23:57 -0800 |
commit | 3dd79ad226bc8e0aec18dba87223a3f50ecf360b (patch) | |
tree | 2af4f4e5d50d35065dda3101b60b40a3c1c21aee /indra/newview/lltexturecache.cpp | |
parent | 72af8dc3f0a249f69869bc6f52dd7a887702a964 (diff) | |
parent | 7a45dec2d540581ef080386e4a967befd22b6adb (diff) |
merge
Diffstat (limited to 'indra/newview/lltexturecache.cpp')
-rw-r--r-- | indra/newview/lltexturecache.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index 69a2d1d7a6..9be342c424 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -1541,21 +1541,24 @@ bool LLTextureCache::readComplete(handle_t handle, bool abort) { lockWorkers(); handle_map_t::iterator iter = mReaders.find(handle); - llassert_always(iter != mReaders.end() || abort); - LLTextureCacheWorker* worker = iter->second; - bool res = worker->complete(); - if (res || abort) + LLTextureCacheWorker* worker = NULL; + bool complete = false; + if (iter != mReaders.end()) + { + worker = iter->second; + complete = worker->complete(); + } + if (worker && (complete || abort)) { - mReaders.erase(handle); + mReaders.erase(iter); unlockWorkers(); worker->scheduleDelete(); - return true; } else { unlockWorkers(); - return false; } + return (complete || abort); } LLTextureCache::handle_t LLTextureCache::writeToCache(const LLUUID& id, U32 priority, |