From d9ff1c28a37b2d9d2fc876e882c55cb55d167ee8 Mon Sep 17 00:00:00 2001
From: Xiaohong Bao <bao@lindenlab.com>
Date: Tue, 13 Jul 2010 15:18:03 -0600
Subject: EXT-7500: FIXED: Texture Jamming problems with http texture off

---
 indra/newview/llpreviewtexture.cpp | 6 ++++--
 indra/newview/llpreviewtexture.h   | 8 ++++----
 2 files changed, 8 insertions(+), 6 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp
index bf18c9e5e7..c4cbbbb791 100644
--- a/indra/newview/llpreviewtexture.cpp
+++ b/indra/newview/llpreviewtexture.cpp
@@ -75,7 +75,8 @@ LLPreviewTexture::LLPreviewTexture(const LLSD& key)
 	  mLastWidth(0),
 	  mAspectRatio(0.f),
 	  mPreviewToSave(FALSE),
-	  mImage(NULL)
+	  mImage(NULL),
+	  mImageOldBoostLevel(LLViewerTexture::BOOST_NONE)
 {
 	updateImageID();
 	if (key.has("save_as"))
@@ -93,7 +94,7 @@ LLPreviewTexture::~LLPreviewTexture()
 	{
 		getWindow()->decBusyCount();
 	}
-
+	mImage->setBoostLevel(mImageOldBoostLevel);
 	mImage = NULL;
 }
 
@@ -543,6 +544,7 @@ void LLPreviewTexture::onAspectRatioCommit(LLUICtrl* ctrl, void* userdata)
 void LLPreviewTexture::loadAsset()
 {
 	mImage = LLViewerTextureManager::getFetchedTexture(mImageID, MIPMAP_TRUE, LLViewerTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE);
+	mImageOldBoostLevel = mImage->getBoostLevel();
 	mImage->setBoostLevel(LLViewerTexture::BOOST_PREVIEW);
 	mImage->forceToSaveRawImage(0) ;
 	mAssetStatus = PREVIEW_ASSET_LOADING;
diff --git a/indra/newview/llpreviewtexture.h b/indra/newview/llpreviewtexture.h
index 0f29a741c1..cbdb057781 100644
--- a/indra/newview/llpreviewtexture.h
+++ b/indra/newview/llpreviewtexture.h
@@ -82,9 +82,10 @@ private:
 	void				updateDimensions();
 	LLUUID				mImageID;
 	LLPointer<LLViewerFetchedTexture>		mImage;
-	BOOL				mLoadingFullImage;
+	S32                 mImageOldBoostLevel;
 	std::string			mSaveFileName;
 	LLFrameTimer		mSavedFileTimer;
+	BOOL				mLoadingFullImage;
 	BOOL                mShowKeepDiscard;
 	BOOL                mCopyToInv;
 
@@ -94,11 +95,10 @@ private:
 	// This is stored off in a member variable, because the save-as
 	// button and drag and drop functionality need to know.
 	BOOL mIsCopyable;
-
+	BOOL mUpdateDimensions;
 	S32 mLastHeight;
 	S32 mLastWidth;
-	F32 mAspectRatio;
-	BOOL mUpdateDimensions;
+	F32 mAspectRatio;	
 
 	LLLoadedCallbackEntry::source_callback_list_t mCallbackTextureList ; 
 };
-- 
cgit v1.2.3