From c5f9e8cf687a28f48b5fb4898500e58ef3738cc0 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 3 Jul 2012 13:17:01 +0200 Subject: [PATCH 1/2] Revert "HTTP texture fetch endless append fix, by Laika Tungsten" This reverts commit b4bdb7ca36a7f8a00a2c1e9d1008dd4f98ac57f2. --- indra/newview/lltexturefetch.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 72132496e..3765012a9 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -1315,7 +1315,6 @@ bool LLTextureFetchWorker::doWork(S32 param) LLImageBase::TYPE_AVATAR_BAKE == mType); #endif - if(cur_size > 0) offset--; // Will call callbackHttpGet when curl request completes std::vector headers; headers.push_back("Accept: image/x-j2c"); @@ -1460,14 +1459,11 @@ bool LLTextureFetchWorker::doWork(S32 param) } U8* buffer = (U8*)ALLOCATE_MEM(LLImageBase::getPrivatePool(), mBufferSize); - if (cur_size > 0) { + if (cur_size > 0) + { memcpy(buffer, mFormattedImage->getData(), cur_size); - mBufferSize--; - if(mRequestedSize == 1) mRequestedDiscard = 0; - else memcpy(buffer + cur_size, mBuffer+1, mRequestedSize-1); // append } - else memcpy(buffer + cur_size, mBuffer, mRequestedSize); // append - + memcpy(buffer + cur_size, mBuffer, mRequestedSize); // append // NOTE: setData releases current data and owns new data (buffer) mFormattedImage->setData(buffer, mBufferSize); // delete temp data @@ -1830,11 +1826,7 @@ S32 LLTextureFetchWorker::callbackHttpGet(const LLChannelDescriptors& channels, mBuffer = (U8*)ALLOCATE_MEM(LLImageBase::getPrivatePool(), data_size); buffer->readAfter(channels.in(), NULL, mBuffer, data_size); mBufferSize += data_size; - if(mFormattedImage.notNull() && mFormattedImage->getDataSize() > 0 && data_size == 1) - { - mHaveAllData = TRUE; - } - else if (data_size < mRequestedSize && mRequestedDiscard == 0) + if (data_size < mRequestedSize && mRequestedDiscard == 0) { mHaveAllData = TRUE; } From 8a271b9621efc36c9fe4a186994bda3aa8713c91 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 3 Jul 2012 13:40:32 +0200 Subject: [PATCH 2/2] HTTP texture fix - the brutal and inefficient way -.- --- indra/newview/lltexturefetch.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 3765012a9..1fa37f994 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -1282,6 +1282,8 @@ bool LLTextureFetchWorker::doWork(S32 param) return true ; //abort. } } + resetFormattedData(); + cur_size = 0; } mRequestedSize = mDesiredSize; mRequestedDiscard = mDesiredDiscard;