summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2024-11-26 20:51:41 +0200
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2024-11-27 00:43:10 +0200
commit38845a1e05a5932b9fb23ab249b7d272bd80643f (patch)
tree809d23a627ca9971c745d29ce8e6b2c81d0c5d1b /indra
parent3d9ee4072dd829350c60c9c31535bdc6e2d9b789 (diff)
viewer#3147 Thumbnail picker's image is grey
when both thumnail and normal image attempt to fetch, one creates a fetcher, another fails, since fetcher is already there, potentially in a transitional state, so it thinks fetch failed.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llviewertexture.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 4a15b8624a..d2511aef7b 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -1965,7 +1965,9 @@ bool LLViewerFetchedTexture::updateFetch()
if (!mIsFetching)
{
- if ((decode_priority > 0) && (mRawDiscardLevel < 0 || mRawDiscardLevel == INVALID_DISCARD_LEVEL))
+ if ((decode_priority > 0)
+ && (mRawDiscardLevel < 0 || mRawDiscardLevel == INVALID_DISCARD_LEVEL)
+ && mFetchState > 1) // 1 - initial, make sure fetcher did at least something
{
// We finished but received no data
if (getDiscardLevel() < 0)
@@ -2003,6 +2005,9 @@ bool LLViewerFetchedTexture::updateFetch()
{
// We have data, but our fetch failed to return raw data
// *TODO: FIgure out why this is happening and fix it
+ // Potentially can happen when TEX_LIST_SCALE and TEX_LIST_STANDARD
+ // get requested for the same texture id at the same time
+ // (two textures, one fetcher)
destroyRawImage();
}
}