diff options
| author | andreykproductengine <none@none> | 2016-02-27 16:06:54 +0200 | 
|---|---|---|
| committer | andreykproductengine <none@none> | 2016-02-27 16:06:54 +0200 | 
| commit | b3e7fff9ae296a128a036e1e9a5b1767248002b8 (patch) | |
| tree | 3c2648a3526691e8e260aaf914b24be53422c039 | |
| parent | 9717507cd6a13a23ba78a08166d381f0ca1d9d68 (diff) | |
MAINT-2199 restored original UI mechanics, removed icons from UI list
| -rwxr-xr-x | indra/newview/lllocalbitmaps.cpp | 10 | ||||
| -rwxr-xr-x | indra/newview/llpanelface.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/lltexturectrl.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/lltexturefetch.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llviewertexture.cpp | 14 | ||||
| -rwxr-xr-x | indra/newview/llviewertexture.h | 2 | ||||
| -rwxr-xr-x | indra/newview/llviewertexturelist.cpp | 29 | ||||
| -rwxr-xr-x | indra/newview/llviewertexturelist.h | 4 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.cpp | 8 | 
9 files changed, 38 insertions, 35 deletions
| diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp index 366b9ac034..aa934f95a1 100755 --- a/indra/newview/lllocalbitmaps.cpp +++ b/indra/newview/lllocalbitmaps.cpp @@ -135,7 +135,7 @@ LLLocalBitmap::~LLLocalBitmap()  	}  	// delete self from gimagelist -	LLViewerFetchedTexture* image = gTextureList.findImage(mWorldID, TEX_LIST_DISCARD); +	LLViewerFetchedTexture* image = gTextureList.findImage(mWorldID, TEX_LIST_STANDARD);  	gTextureList.deleteImage(image);  	if (image) @@ -207,7 +207,7 @@ bool LLLocalBitmap::updateSelf(EUpdateType optional_firstupdate)  					texture->setCachedRawImage(LL_LOCAL_DISCARD_LEVEL, raw_image);  					texture->ref();  -					gTextureList.addImage(texture, TEX_LIST_DISCARD); +					gTextureList.addImage(texture, TEX_LIST_STANDARD);  					if (optional_firstupdate != UT_FIRSTUSE)  					{ @@ -215,7 +215,7 @@ bool LLLocalBitmap::updateSelf(EUpdateType optional_firstupdate)  						replaceIDs(old_id, mWorldID);  						// remove old_id from gimagelist -						LLViewerFetchedTexture* image = gTextureList.findImage(old_id, TEX_LIST_DISCARD); +						LLViewerFetchedTexture* image = gTextureList.findImage(old_id, TEX_LIST_STANDARD);  						if (image != NULL)  						{  							gTextureList.deleteImage(image); @@ -384,7 +384,7 @@ void LLLocalBitmap::replaceIDs(LLUUID old_id, LLUUID new_id)  std::vector<LLViewerObject*> LLLocalBitmap::prepUpdateObjects(LLUUID old_id, U32 channel)  {  	std::vector<LLViewerObject*> obj_list; -	LLViewerFetchedTexture* old_texture = gTextureList.findImage(old_id, TEX_LIST_DISCARD); +	LLViewerFetchedTexture* old_texture = gTextureList.findImage(old_id, TEX_LIST_STANDARD);  	for(U32 face_iterator = 0; face_iterator < old_texture->getNumFaces(channel); face_iterator++)  	{ @@ -502,7 +502,7 @@ void LLLocalBitmap::updateUserPrims(LLUUID old_id, LLUUID new_id, U32 channel)  void LLLocalBitmap::updateUserSculpts(LLUUID old_id, LLUUID new_id)  { -	LLViewerFetchedTexture* old_texture = gTextureList.findImage(old_id, TEX_LIST_DISCARD); +	LLViewerFetchedTexture* old_texture = gTextureList.findImage(old_id, TEX_LIST_STANDARD);  	for(U32 volume_iter = 0; volume_iter < old_texture->getNumVolumes(); volume_iter++)  	{  		LLVOVolume* volume_to_object = (*old_texture->getVolumeList())[volume_iter]; diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index 551495c6ad..ec2d37c30d 100755 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -2214,7 +2214,7 @@ void LLPanelFace::LLSelectedTE::getTexId(LLUUID& id, bool& identical)  				LLTextureEntry *te = object->getTE(te_index);  				if (te)  				{ -					LLViewerTexture* tex = te->getID().notNull() ? gTextureList.findImage(te->getID(), TEX_LIST_DISCARD) : NULL; +					LLViewerTexture* tex = te->getID().notNull() ? gTextureList.findImage(te->getID(), TEX_LIST_STANDARD) : NULL;  					if(!tex)  					{  						tex = LLViewerFetchedTexture::sDefaultImagep; diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 980810835e..e5aa740a33 100755 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -1393,7 +1393,7 @@ void LLTextureCtrl::setOnTextureSelectedCallback(texture_selected_callback cb)  void	LLTextureCtrl::setImageAssetName(const std::string& name)  { -	LLPointer<LLUIImage> imagep = LLUI::getUIImage(name); +	LLPointer<LLUIImage> imagep = LLUI::getUIImage(name, LLGLTexture::BOOST_PREVIEW);  	if(imagep)  	{  		LLViewerFetchedTexture* pTexture = dynamic_cast<LLViewerFetchedTexture*>(imagep->getImage().get()); diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 27d754bed2..bb93597651 100755 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -4460,7 +4460,7 @@ void LLTextureFetchDebugger::addHistoryEntry(LLTextureFetchWorker* worker)  			mRefetchedAllData += worker->mFormattedImage->getDataSize();  			// refetch list only requests/creates normal images, so requesting ui='false' -			LLViewerFetchedTexture* tex = LLViewerTextureManager::findFetchedTexture(worker->mID, TEX_LIST_DISCARD); +			LLViewerFetchedTexture* tex = LLViewerTextureManager::findFetchedTexture(worker->mID, TEX_LIST_STANDARD);  			if(tex && mRefetchList[tex].begin() != mRefetchList[tex].end())  			{  				if(worker->mDecodedDiscard == mFetchingHistory[mRefetchList[tex][0]].mDecodedLevel) diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index e2b8ff8e80..9e730112ad 100755 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -3322,7 +3322,7 @@ LLViewerMediaTexture::LLViewerMediaTexture(const LLUUID& id, BOOL usemipmaps, LL  	setCategory(LLGLTexture::MEDIA); -	LLViewerTexture* tex = gTextureList.findImage(mID, TEX_LIST_DISCARD); +	LLViewerTexture* tex = gTextureList.findImage(mID, TEX_LIST_STANDARD);  	if(tex) //this media is a parcel media for tex.  	{  		tex->setParcelMedia(this); @@ -3332,7 +3332,7 @@ LLViewerMediaTexture::LLViewerMediaTexture(const LLUUID& id, BOOL usemipmaps, LL  //virtual   LLViewerMediaTexture::~LLViewerMediaTexture()   {	 -	LLViewerTexture* tex = gTextureList.findImage(mID, TEX_LIST_DISCARD); +	LLViewerTexture* tex = gTextureList.findImage(mID, TEX_LIST_STANDARD);  	if(tex) //this media is a parcel media for tex.  	{  		tex->setParcelMedia(NULL); @@ -3387,7 +3387,7 @@ BOOL LLViewerMediaTexture::findFaces()  	BOOL ret = TRUE; -	LLViewerTexture* tex = gTextureList.findImage(mID, TEX_LIST_DISCARD); +	LLViewerTexture* tex = gTextureList.findImage(mID, TEX_LIST_STANDARD);  	if(tex) //this media is a parcel media for tex.  	{  		for (U32 ch = 0; ch < LLRender::NUM_TEXTURE_CHANNELS; ++ch) @@ -3496,7 +3496,7 @@ void LLViewerMediaTexture::addFace(U32 ch, LLFace* facep)  	const LLTextureEntry* te = facep->getTextureEntry();  	if(te && te->getID().notNull())  	{ -		LLViewerTexture* tex = gTextureList.findImage(te->getID(), TEX_LIST_DISCARD); +		LLViewerTexture* tex = gTextureList.findImage(te->getID(), TEX_LIST_STANDARD);  		if(tex)  		{  			mTextureList.push_back(tex);//increase the reference number by one for tex to avoid deleting it. @@ -3525,7 +3525,7 @@ void LLViewerMediaTexture::removeFace(U32 ch, LLFace* facep)  	const LLTextureEntry* te = facep->getTextureEntry();  	if(te && te->getID().notNull())  	{ -		LLViewerTexture* tex = gTextureList.findImage(te->getID(), TEX_LIST_DISCARD); +		LLViewerTexture* tex = gTextureList.findImage(te->getID(), TEX_LIST_STANDARD);  		if(tex)  		{  			for(std::list< LLPointer<LLViewerTexture> >::iterator iter = mTextureList.begin(); @@ -3634,10 +3634,10 @@ void LLViewerMediaTexture::switchTexture(U32 ch, LLFace* facep)  			const LLTextureEntry* te = facep->getTextureEntry();  			if(te)  			{ -				LLViewerTexture* tex = te->getID().notNull() ? gTextureList.findImage(te->getID(), TEX_LIST_DISCARD) : NULL; +				LLViewerTexture* tex = te->getID().notNull() ? gTextureList.findImage(te->getID(), TEX_LIST_STANDARD) : NULL;  				if(!tex && te->getID() != mID)//try parcel media.  				{ -					tex = gTextureList.findImage(mID, TEX_LIST_DISCARD); +					tex = gTextureList.findImage(mID, TEX_LIST_STANDARD);  				}  				if(!tex)  				{ diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index 9226774f9a..cedac44633 100755 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -661,7 +661,7 @@ public:  	static LLViewerFetchedTexture* getFetchedTextureFromFile(const std::string& filename,									   									 FTType f_type = FTT_LOCAL_FILE,  									 BOOL usemipmap = TRUE, -									 LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_UI, +									 LLViewerTexture::EBoostLevel boost_priority = LLGLTexture::BOOST_NONE,  									 S8 texture_type = LLViewerTexture::FETCHED_TEXTURE,  									 LLGLint internal_format = 0,  									 LLGLenum primary_format = 0, diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index a8c93646c6..21991fe2f7 100755 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -72,20 +72,18 @@ static LLTrace::BlockTimerStatHandle FTM_PROCESS_IMAGES("Process Images");  ETexListType get_element_type(S32 priority)  { -    // don't discard flag can be used in some cases, but it usually is not set yet -    if (priority == LLViewerFetchedTexture::BOOST_ICON -        || priority == LLViewerFetchedTexture::BOOST_UI) +    if (priority == LLViewerFetchedTexture::BOOST_ICON)      { -        return TEX_LIST_UI; +        return TEX_LIST_SCALE;      } -    return TEX_LIST_DISCARD; +    return TEX_LIST_STANDARD;  }  ///////////////////////////////////////////////////////////////////////////////  LLTextureKey::LLTextureKey()  : textureId(LLUUID::null), -textureType(TEX_LIST_DISCARD) +textureType(TEX_LIST_STANDARD)  {  } @@ -579,7 +577,7 @@ LLViewerFetchedTexture* LLViewerTextureList::createImage(const LLUUID &image_id,  void LLViewerTextureList::findTexturesByID(const LLUUID &image_id, std::vector<LLViewerFetchedTexture*> &output)  { -    LLTextureKey search_key(image_id, TEX_LIST_DISCARD); +    LLTextureKey search_key(image_id, TEX_LIST_STANDARD);      uuid_map_t::iterator iter = mUUIDMap.lower_bound(search_key);      while (iter != mUUIDMap.end() && iter->first.textureId == image_id)      { @@ -1585,14 +1583,14 @@ void LLViewerTextureList::processImageNotInDatabase(LLMessageSystem *msg,void **  	LLUUID image_id;  	msg->getUUIDFast(_PREHASH_ImageID, _PREHASH_ID, image_id); -	LLViewerFetchedTexture* image = gTextureList.findImage( image_id, TEX_LIST_DISCARD); +	LLViewerFetchedTexture* image = gTextureList.findImage( image_id, TEX_LIST_STANDARD);  	if( image )  	{  		LL_WARNS() << "Image not in db" << LL_ENDL;  		image->setIsMissingAsset();  	} -    image = gTextureList.findImage(image_id, TEX_LIST_UI); +    image = gTextureList.findImage(image_id, TEX_LIST_SCALE);      if (image)      {          LL_WARNS() << "Icon not in db" << LL_ENDL; @@ -1679,14 +1677,19 @@ LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const st  	//don't compress UI images  	imagep->getGLTexture()->setAllowCompression(false); -	//all UI images are non-deletable -	imagep->setNoDelete();  	LLUIImagePtr new_imagep = new LLUIImage(name, imagep);  	new_imagep->setScaleStyle(scale_style); -	mUIImages.insert(std::make_pair(name, new_imagep)); -	mUITextureList.push_back(imagep); +	if (imagep->getBoostLevel() != LLGLTexture::BOOST_ICON && +		imagep->getBoostLevel() != LLGLTexture::BOOST_PREVIEW) +	{ +		// Don't add downloadable content into this list +		// all UI images are non-deletable and list does not support deletion +		imagep->setNoDelete(); +		mUIImages.insert(std::make_pair(name, new_imagep)); +		mUITextureList.push_back(imagep); +	}  	//Note:  	//Some other textures such as ICON also through this flow to be fetched. diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index 9f94f2f1bc..53ea3e05a0 100755 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -61,8 +61,8 @@ typedef	void (*LLImageCallback)(BOOL success,  enum ETexListType  { -    TEX_LIST_DISCARD = 0, -    TEX_LIST_UI +    TEX_LIST_STANDARD = 0, +    TEX_LIST_SCALE // images that will be scaled, they should not be mixed up with regular images  };  struct LLTextureKey diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 4efad480f1..6ac143660b 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1992,7 +1992,7 @@ LLViewerFetchedTexture *LLVOAvatar::getBakedTextureImage(const U8 te, const LLUU  		uuid == IMG_INVISIBLE)  	{  		// Should already exist, don't need to find it on sim or baked-texture host. -		result = gTextureList.findImage(uuid, TEX_LIST_DISCARD); +		result = gTextureList.findImage(uuid, TEX_LIST_STANDARD);  	}  	if (!result)  	{ @@ -4313,7 +4313,7 @@ bool LLVOAvatar::allTexturesCompletelyDownloaded(std::set<LLUUID>& ids) const  {  	for (std::set<LLUUID>::const_iterator it = ids.begin(); it != ids.end(); ++it)  	{ -		LLViewerFetchedTexture *imagep = gTextureList.findImage(*it, TEX_LIST_DISCARD); +		LLViewerFetchedTexture *imagep = gTextureList.findImage(*it, TEX_LIST_STANDARD);  		if (imagep && imagep->getDiscardLevel()!=0)  		{  			return false; @@ -4385,7 +4385,7 @@ S32Bytes LLVOAvatar::totalTextureMemForUUIDS(std::set<LLUUID>& ids)  	S32Bytes result(0);  	for (std::set<LLUUID>::const_iterator it = ids.begin(); it != ids.end(); ++it)  	{ -		LLViewerFetchedTexture *imagep = gTextureList.findImage(*it, TEX_LIST_DISCARD); +		LLViewerFetchedTexture *imagep = gTextureList.findImage(*it, TEX_LIST_STANDARD);  		if (imagep)  		{  			result += imagep->getTextureMemory(); @@ -4473,7 +4473,7 @@ void LLVOAvatar::releaseOldTextures()  	{  		if (new_texture_ids.find(*it) == new_texture_ids.end())  		{ -			LLViewerFetchedTexture *imagep = gTextureList.findImage(*it, TEX_LIST_DISCARD); +			LLViewerFetchedTexture *imagep = gTextureList.findImage(*it, TEX_LIST_STANDARD);  			if (imagep)  			{  				current_texture_mem += imagep->getTextureMemory(); | 
