From 4683283a666e3c34b6df52951b96c342a44679a8 Mon Sep 17 00:00:00 2001
From: Yuri Chebotarev <ychebotarev@productengine.com>
Date: Mon, 17 May 2010 18:36:53 +0300
Subject: [PATCH] EXT-7045 FIX miss one more texture setup place.

Also remove redundant variable and do some refactoring.
Reviwed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/391/

--HG--
branch : product-engine
---
 indra/newview/llpanelgroupgeneral.cpp | 14 ++------------
 indra/newview/llpanelgroupgeneral.h   |  1 -
 indra/newview/lltexturectrl.cpp       | 14 ++++++++++++++
 indra/newview/lltexturectrl.h         |  4 +++-
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp
index ddd41a17919..555248e31ab 100644
--- a/indra/newview/llpanelgroupgeneral.cpp
+++ b/indra/newview/llpanelgroupgeneral.cpp
@@ -212,7 +212,6 @@ void LLPanelGroupGeneral::setupCtrls(LLPanel* panel_group)
 	if (mInsignia)
 	{
 		mInsignia->setCommitCallback(onCommitAny, this);
-		mDefaultIconID = mInsignia->getImageAssetID();
 	}
 	mFounderName = getChild<LLNameBox>("founder_name");
 
@@ -656,7 +655,7 @@ void LLPanelGroupGeneral::update(LLGroupChange gc)
 		}
 		else
 		{
-			mInsignia->setImageAssetID(mDefaultIconID);
+			mInsignia->setImageAssetName(mInsignia->getDefaultImageName());
 		}
 	}
 
@@ -846,16 +845,7 @@ void LLPanelGroupGeneral::reset()
 	
 	mInsignia->setEnabled(true);
 
-	LLPointer<LLUIImage> imagep = LLUI::getUIImage(mInsignia->getDefaultImageName());
-	if(imagep)
-	{
-		LLViewerFetchedTexture* pTexture = dynamic_cast<LLViewerFetchedTexture*>(imagep->getImage().get());
-		if(pTexture)
-		{
-			LLUUID id = pTexture->getID();
-			mInsignia->setImageAssetID(id);
-		}
-	}
+	mInsignia->setImageAssetName(mInsignia->getDefaultImageName());
 
 	{
 		std::string empty_str = "";
diff --git a/indra/newview/llpanelgroupgeneral.h b/indra/newview/llpanelgroupgeneral.h
index 62450188712..6f4fa994da8 100644
--- a/indra/newview/llpanelgroupgeneral.h
+++ b/indra/newview/llpanelgroupgeneral.h
@@ -95,7 +95,6 @@ class LLPanelGroupGeneral : public LLPanelGroupTab
 	BOOL			mChanged;
 	BOOL			mFirstUse;
 	std::string		mIncompleteMemberDataStr;
-	LLUUID			mDefaultIconID;
 
 	// Group information (include any updates in updateChanged)
 	LLLineEditor		*mGroupNameEditor;
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp
index a1b3c8dabd5..6165d309c3b 100644
--- a/indra/newview/lltexturectrl.cpp
+++ b/indra/newview/lltexturectrl.cpp
@@ -1137,6 +1137,20 @@ void LLTextureCtrl::onFloaterCommit(ETexturePickOp op)
 	}
 }
 
+void	LLTextureCtrl::setImageAssetName(const std::string& name)
+{
+	LLPointer<LLUIImage> imagep = LLUI::getUIImage(name);
+	if(imagep)
+	{
+		LLViewerFetchedTexture* pTexture = dynamic_cast<LLViewerFetchedTexture*>(imagep->getImage().get());
+		if(pTexture)
+		{
+			LLUUID id = pTexture->getID();
+			setImageAssetID(id);
+		}
+	}
+}
+
 void LLTextureCtrl::setImageAssetID( const LLUUID& asset_id )
 {
 	if( mImageAssetID != asset_id )
diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h
index 837f8374301..bcd0a083f2b 100644
--- a/indra/newview/lltexturectrl.h
+++ b/indra/newview/lltexturectrl.h
@@ -128,7 +128,7 @@ class LLTextureCtrl
 	virtual void	clear();
 
 	// Takes a UUID, wraps get/setImageAssetID
-	virtual void	setValue(const LLSD& value );
+	virtual void	setValue(const LLSD& value);
 	virtual LLSD	getValue() const;
 
 	// LLTextureCtrl interface
@@ -142,6 +142,8 @@ class LLTextureCtrl
 
 	const LLUUID&	getImageItemID() { return mImageItemID; }
 
+	virtual void	setImageAssetName(const std::string& name);
+	
 	void			setImageAssetID(const LLUUID &image_asset_id);
 	const LLUUID&	getImageAssetID() const						{ return mImageAssetID; }
 
-- 
GitLab