summaryrefslogtreecommitdiff
path: root/indra/llimage
diff options
context:
space:
mode:
authorandreykproductengine <akleshchev@productengine.com>2015-04-14 18:53:17 +0300
committerandreykproductengine <akleshchev@productengine.com>2015-04-14 18:53:17 +0300
commit1dd7e76908277f0ad4b24a8e320aa2b9f9321048 (patch)
treec9ca7fd71fdf533c7f500828e1e708dc5d7af5ac /indra/llimage
parent3e0483df17181269c4cada7ad5585201f442598c (diff)
parenta647b8f1cbab13f07ea889c80df28414bc906129 (diff)
Merge with viewer-release and become 3.7.28
Diffstat (limited to 'indra/llimage')
-rwxr-xr-xindra/llimage/llimageworker.cpp5
-rwxr-xr-xindra/llimage/tests/llimageworker_test.cpp2
2 files changed, 5 insertions, 2 deletions
diff --git a/indra/llimage/llimageworker.cpp b/indra/llimage/llimageworker.cpp
index c8b0e872f6..4875fe7001 100755
--- a/indra/llimage/llimageworker.cpp
+++ b/indra/llimage/llimageworker.cpp
@@ -143,7 +143,8 @@ bool LLImageDecodeThread::ImageRequest::processRequest()
mFormattedImage->getComponents());
}
done = mFormattedImage->decode(mDecodedImageRaw, decode_time_slice); // 1ms
- mDecodedRaw = done;
+ // some decoders are removing data when task is complete and there were errors
+ mDecodedRaw = done && mDecodedImageRaw->getData();
}
if (done && mNeedsAux && !mDecodedAux && mFormattedImage.notNull())
{
@@ -155,7 +156,7 @@ bool LLImageDecodeThread::ImageRequest::processRequest()
1);
}
done = mFormattedImage->decodeChannels(mDecodedImageAux, decode_time_slice, 4, 4); // 1ms
- mDecodedAux = done;
+ mDecodedAux = done && mDecodedImageAux->getData();
}
return done;
diff --git a/indra/llimage/tests/llimageworker_test.cpp b/indra/llimage/tests/llimageworker_test.cpp
index c030b105fb..51c5c63556 100755
--- a/indra/llimage/tests/llimageworker_test.cpp
+++ b/indra/llimage/tests/llimageworker_test.cpp
@@ -67,6 +67,8 @@ LLImageRaw::~LLImageRaw() { }
void LLImageRaw::deleteData() { }
U8* LLImageRaw::allocateData(S32 size) { return NULL; }
U8* LLImageRaw::reallocateData(S32 size) { return NULL; }
+const U8* LLImageBase::getData() const { return NULL; }
+U8* LLImageBase::getData() { return NULL; }
// End Stubbing
// -------------------------------------------------------------------------------------------