diff options
| author | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2014-03-20 19:21:52 +0200 |
|---|---|---|
| committer | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2014-03-20 19:21:52 +0200 |
| commit | 6f33f9090b554a32f039e46d8177650ccbf94536 (patch) | |
| tree | 3d518c0a2ec73a88c5cd0c99d900e98c035b8756 /indra/llimage/llimageworker.cpp | |
| parent | 2f606a36f63979af73bad76d883646b2d3f8a727 (diff) | |
MAINT-3827 FIXED crash in KDU texture decoding, likely out of memory
Diffstat (limited to 'indra/llimage/llimageworker.cpp')
| -rwxr-xr-x | indra/llimage/llimageworker.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/indra/llimage/llimageworker.cpp b/indra/llimage/llimageworker.cpp index ad2eb0f69c..148cf4fa55 100755 --- a/indra/llimage/llimageworker.cpp +++ b/indra/llimage/llimageworker.cpp @@ -142,8 +142,12 @@ bool LLImageDecodeThread::ImageRequest::processRequest() mFormattedImage->getHeight(), mFormattedImage->getComponents()); } - done = mFormattedImage->decode(mDecodedImageRaw, decode_time_slice); // 1ms - mDecodedRaw = done; + + if (mDecodedImageRaw->getData()) + { + done = mFormattedImage->decode(mDecodedImageRaw, decode_time_slice); // 1ms + mDecodedRaw = done; + } } if (done && mNeedsAux && !mDecodedAux && mFormattedImage.notNull()) { @@ -154,8 +158,12 @@ bool LLImageDecodeThread::ImageRequest::processRequest() mFormattedImage->getHeight(), 1); } - done = mFormattedImage->decodeChannels(mDecodedImageAux, decode_time_slice, 4, 4); // 1ms - mDecodedAux = done; + + if (mDecodedImageAux->getData()) + { + done = mFormattedImage->decodeChannels(mDecodedImageAux, decode_time_slice, 4, 4); // 1ms + mDecodedAux = done; + } } return done; |
