From 6f33f9090b554a32f039e46d8177650ccbf94536 Mon Sep 17 00:00:00 2001 From: maksymsproductengine Date: Thu, 20 Mar 2014 19:21:52 +0200 Subject: MAINT-3827 FIXED crash in KDU texture decoding, likely out of memory --- indra/llimage/llimageworker.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'indra/llimage/llimageworker.cpp') 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; -- cgit v1.2.3