diff options
Diffstat (limited to 'indra/newview/lllocalbitmaps.cpp')
| -rw-r--r-- | indra/newview/lllocalbitmaps.cpp | 54 | 
1 files changed, 23 insertions, 31 deletions
| diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp index 0243e2183e..b8bde39bd1 100644 --- a/indra/newview/lllocalbitmaps.cpp +++ b/indra/newview/lllocalbitmaps.cpp @@ -69,9 +69,6 @@  /*=======================================*/  /*  Formal declarations, constants, etc. */  /*=======================================*/  -std::list<LLLocalBitmap*>   LLLocalBitmapMgr::sBitmapList; -LLLocalBitmapTimer          LLLocalBitmapMgr::sTimer; -bool                        LLLocalBitmapMgr::sNeedsRebake;  static const F32 LL_LOCAL_TIMER_HEARTBEAT   = 3.0;  static const BOOL LL_LOCAL_USE_MIPMAPS      = true; @@ -131,7 +128,7 @@ LLLocalBitmap::~LLLocalBitmap()  	if(LL_LOCAL_REPLACE_ON_DEL && mValid && gAgentAvatarp) // fix for STORM-1837  	{  		replaceIDs(mWorldID, IMG_DEFAULT); -		LLLocalBitmapMgr::doRebake(); +		LLLocalBitmapMgr::getInstance()->doRebake();  	}  	// delete self from gimagelist @@ -571,7 +568,7 @@ void LLLocalBitmap::updateUserLayers(LLUUID old_id, LLUUID new_id, LLWearableTyp  							gAgentAvatarp->setLocalTexture(reg_texind, gTextureList.getImage(new_id), FALSE, index);  							gAgentAvatarp->wearableUpdated(type);  							/* telling the manager to rebake once update cycle is fully done */ -							LLLocalBitmapMgr::setNeedsRebake(); +							LLLocalBitmapMgr::getInstance()->setNeedsRebake();  						}  					} @@ -905,7 +902,7 @@ bool LLLocalBitmapTimer::isRunning()  BOOL LLLocalBitmapTimer::tick()  { -	LLLocalBitmapMgr::doUpdates(); +	LLLocalBitmapMgr::getInstance()->doUpdates();  	return FALSE;  } @@ -914,17 +911,12 @@ BOOL LLLocalBitmapTimer::tick()  /*=======================================*/   LLLocalBitmapMgr::LLLocalBitmapMgr()  { -	// The class is all made of static members, should i even bother instantiating?  }  LLLocalBitmapMgr::~LLLocalBitmapMgr()  { -} - -void LLLocalBitmapMgr::cleanupClass() -{ -	std::for_each(sBitmapList.begin(), sBitmapList.end(), DeletePointer()); -	sBitmapList.clear(); +    std::for_each(mBitmapList.begin(), mBitmapList.end(), DeletePointer()); +    mBitmapList.clear();  }  bool LLLocalBitmapMgr::addUnit() @@ -934,7 +926,7 @@ bool LLLocalBitmapMgr::addUnit()  	LLFilePicker& picker = LLFilePicker::instance();  	if (picker.getMultipleOpenFiles(LLFilePicker::FFLOAD_IMAGE))  	{ -		sTimer.stopTimer(); +		mTimer.stopTimer();  		std::string filename = picker.getFirstFile();  		while(!filename.empty()) @@ -949,7 +941,7 @@ bool LLLocalBitmapMgr::addUnit()  			if (unit->getValid())  			{ -				sBitmapList.push_back(unit); +				mBitmapList.push_back(unit);  				add_successful = true;  			}  			else @@ -968,7 +960,7 @@ bool LLLocalBitmapMgr::addUnit()  			filename = picker.getNextFile();  		} -		sTimer.startTimer(); +		mTimer.startTimer();  	}  	return add_successful; @@ -1007,10 +999,10 @@ bool LLLocalBitmapMgr::checkTextureDimensions(std::string filename)  void LLLocalBitmapMgr::delUnit(LLUUID tracking_id)  { -	if (!sBitmapList.empty()) +	if (!mBitmapList.empty())  	{	  		std::vector<LLLocalBitmap*> to_delete; -		for (local_list_iter iter = sBitmapList.begin(); iter != sBitmapList.end(); iter++) +		for (local_list_iter iter = mBitmapList.begin(); iter != mBitmapList.end(); iter++)  		{   /* finding which ones we want deleted and making a separate list */  			LLLocalBitmap* unit = *iter;  			if (unit->getTrackingID() == tracking_id) @@ -1023,7 +1015,7 @@ void LLLocalBitmapMgr::delUnit(LLUUID tracking_id)  			del_iter != to_delete.end(); del_iter++)  		{   /* iterating over a temporary list, hence preserving the iterator validity while deleting. */  			LLLocalBitmap* unit = *del_iter; -			sBitmapList.remove(unit); +			mBitmapList.remove(unit);  			delete unit;  			unit = NULL;  		} @@ -1034,7 +1026,7 @@ LLUUID LLLocalBitmapMgr::getWorldID(LLUUID tracking_id)  {  	LLUUID world_id = LLUUID::null; -	for (local_list_iter iter = sBitmapList.begin(); iter != sBitmapList.end(); iter++) +	for (local_list_iter iter = mBitmapList.begin(); iter != mBitmapList.end(); iter++)  	{  		LLLocalBitmap* unit = *iter;  		if (unit->getTrackingID() == tracking_id) @@ -1050,7 +1042,7 @@ std::string LLLocalBitmapMgr::getFilename(LLUUID tracking_id)  {  	std::string filename = ""; -	for (local_list_iter iter = sBitmapList.begin(); iter != sBitmapList.end(); iter++) +	for (local_list_iter iter = mBitmapList.begin(); iter != mBitmapList.end(); iter++)  	{  		LLLocalBitmap* unit = *iter;  		if (unit->getTrackingID() == tracking_id) @@ -1068,10 +1060,10 @@ void LLLocalBitmapMgr::feedScrollList(LLScrollListCtrl* ctrl)  	{  		ctrl->clearRows(); -		if (!sBitmapList.empty()) +		if (!mBitmapList.empty())  		{ -			for (local_list_iter iter = sBitmapList.begin(); -				 iter != sBitmapList.end(); iter++) +			for (local_list_iter iter = mBitmapList.begin(); +				 iter != mBitmapList.end(); iter++)  			{  				LLSD element;  				element["columns"][0]["column"] = "unit_name"; @@ -1092,29 +1084,29 @@ void LLLocalBitmapMgr::feedScrollList(LLScrollListCtrl* ctrl)  void LLLocalBitmapMgr::doUpdates()  {  	// preventing theoretical overlap in cases with huge number of loaded images. -	sTimer.stopTimer(); -	sNeedsRebake = false; +	mTimer.stopTimer(); +	mNeedsRebake = false; -	for (local_list_iter iter = sBitmapList.begin(); iter != sBitmapList.end(); iter++) +	for (local_list_iter iter = mBitmapList.begin(); iter != mBitmapList.end(); iter++)  	{  		(*iter)->updateSelf();  	}  	doRebake(); -	sTimer.startTimer(); +	mTimer.startTimer();  }  void LLLocalBitmapMgr::setNeedsRebake()  { -	sNeedsRebake = true; +	mNeedsRebake = true;  }  void LLLocalBitmapMgr::doRebake()  { /* separated that from doUpdates to insure a rebake can be called separately during deletion */ -	if (sNeedsRebake) +	if (mNeedsRebake)  	{  		gAgentAvatarp->forceBakeAllTextures(LL_LOCAL_SLAM_FOR_DEBUG); -		sNeedsRebake = false; +		mNeedsRebake = false;  	}  } | 
