diff options
| author | Eli Linden <eli@lindenlab.com> | 2010-03-09 18:30:59 -0800 | 
|---|---|---|
| committer | Eli Linden <eli@lindenlab.com> | 2010-03-09 18:30:59 -0800 | 
| commit | 50abb9b972be65178bab5bc6ca247148febda140 (patch) | |
| tree | 3bc8dbc99fce70be49f82e812a7f908492e43bff | |
| parent | 4562ae73f00fe27f1e06b9f4173774e4221e93d9 (diff) | |
| parent | 87213aa8ddd424242adfe2b7572168c7df8ba490 (diff) | |
Merge
| -rw-r--r-- | indra/newview/llfolderview.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llfolderviewitem.cpp | 82 | ||||
| -rw-r--r-- | indra/newview/llfolderviewitem.h | 10 | ||||
| -rw-r--r-- | indra/newview/llpanelobjectinventory.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 11 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.h | 2 | 
6 files changed, 15 insertions, 101 deletions
| diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index cc807c2370..23062bafec 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -837,11 +837,14 @@ void LLFolderView::sanitizeSelection()  void LLFolderView::clearSelection()  { -	if (mSelectedItems.size() > 0) +	for (selected_items_t::const_iterator item_it = mSelectedItems.begin();  +		 item_it != mSelectedItems.end();  +		 ++item_it)  	{ -		recursiveDeselect(FALSE); -		mSelectedItems.clear(); +		(*item_it)->setUnselected();  	} + +	mSelectedItems.clear();  	mSelectThisID.setNull();  } diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 76607e4874..d3e3d2b57b 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -121,7 +121,6 @@ LLFolderViewItem::LLFolderViewItem(const LLFolderViewItem::Params& p)  	mHasVisibleChildren(FALSE),  	mIndentation(0),  	mItemHeight(p.item_height), -	mNumDescendantsSelected(0),  	mPassedFilter(FALSE),  	mLastFilterGeneration(-1),  	mStringMatchOffset(std::string::npos), @@ -497,22 +496,6 @@ BOOL LLFolderViewItem::changeSelection(LLFolderViewItem* selection, BOOL selecte  	return FALSE;  } -void LLFolderViewItem::recursiveDeselect(BOOL deselect_self) -{ -	if (mIsSelected && deselect_self) -	{ -		mIsSelected = FALSE; - -		// update ancestors' count of selected descendents -		LLFolderViewFolder* parent_folder = getParentFolder(); -		while(parent_folder) -		{ -			parent_folder->mNumDescendantsSelected--; -			parent_folder = parent_folder->getParentFolder(); -		} -	} -} -  BOOL LLFolderViewItem::isMovable()  { @@ -1459,7 +1442,6 @@ BOOL LLFolderViewFolder::setSelection(LLFolderViewItem* selection, BOOL openitem  		{  			rv = TRUE;  			child_selected = TRUE; -			mNumDescendantsSelected++;  		}  	}  	for (items_t::iterator iter = mItems.begin(); @@ -1470,7 +1452,6 @@ BOOL LLFolderViewFolder::setSelection(LLFolderViewItem* selection, BOOL openitem  		{  			rv = TRUE;  			child_selected = TRUE; -			mNumDescendantsSelected++;  		}  	}  	if(openitem && child_selected) @@ -1503,14 +1484,6 @@ BOOL LLFolderViewFolder::changeSelection(LLFolderViewItem* selection,  		folders_t::iterator fit = iter++;  		if((*fit)->changeSelection(selection, selected))  		{ -			if (selected) -			{ -				mNumDescendantsSelected++; -			} -			else -			{ -				mNumDescendantsSelected--; -			}  			rv = TRUE;  		}  	} @@ -1520,14 +1493,6 @@ BOOL LLFolderViewFolder::changeSelection(LLFolderViewItem* selection,  		items_t::iterator iit = iter++;  		if((*iit)->changeSelection(selection, selected))  		{ -			if (selected) -			{ -				mNumDescendantsSelected++; -			} -			else -			{ -				mNumDescendantsSelected--; -			}  			rv = TRUE;  		}  	} @@ -1544,7 +1509,6 @@ S32 LLFolderViewFolder::extendSelection(LLFolderViewItem* selection, LLFolderVie  	{  		folders_t::iterator fit = iter++;  		num_selected += (*fit)->extendSelection(selection, last_selected, selected_items); -		mNumDescendantsSelected += num_selected;  	}  	// handle selection of our immediate children... @@ -1637,7 +1601,6 @@ S32 LLFolderViewFolder::extendSelection(LLFolderViewItem* selection, LLFolderVie  			if (item->changeSelection(item, TRUE))  			{  				selected_items.put(item); -				mNumDescendantsSelected++;  				num_selected++;  			}  		} @@ -1648,7 +1611,6 @@ S32 LLFolderViewFolder::extendSelection(LLFolderViewItem* selection, LLFolderVie  		if (selection->changeSelection(selection, TRUE))  		{  			selected_items.put(selection); -			mNumDescendantsSelected++;  			num_selected++;  		}  	} @@ -1656,47 +1618,6 @@ S32 LLFolderViewFolder::extendSelection(LLFolderViewItem* selection, LLFolderVie  	return num_selected;  } -void LLFolderViewFolder::recursiveDeselect(BOOL deselect_self) -{ -	// make sure we don't have negative values -	llassert(mNumDescendantsSelected >= 0); - -	if (mIsSelected && deselect_self) -	{ -		mIsSelected = FALSE; - -		// update ancestors' count of selected descendents -		LLFolderViewFolder* parent_folder = getParentFolder(); -		while(parent_folder) -		{ -			parent_folder->mNumDescendantsSelected--; -			parent_folder = parent_folder->getParentFolder(); -		} -	} - -	if (0 == mNumDescendantsSelected) -	{ -		return; -	} - -	for (items_t::iterator iter = mItems.begin(); -		iter != mItems.end();) -	{ -		items_t::iterator iit = iter++; -		LLFolderViewItem* item = (*iit); -		item->recursiveDeselect(TRUE); -	} - -	for (folders_t::iterator iter = mFolders.begin(); -		iter != mFolders.end();) -	{ -		folders_t::iterator fit = iter++; -		LLFolderViewFolder* folder = (*fit); -		folder->recursiveDeselect(TRUE); -	} - -} -  void LLFolderViewFolder::destroyView()  {  	for (items_t::iterator iter = mItems.begin(); @@ -1730,8 +1651,6 @@ BOOL LLFolderViewFolder::removeItem(LLFolderViewItem* item)  {  	if(item->remove())  	{ -		//RN: this seem unneccessary as remove() moves to trash -		//removeView(item);  		return TRUE;  	}  	return FALSE; @@ -1746,7 +1665,6 @@ void LLFolderViewFolder::removeView(LLFolderViewItem* item)  		return;  	}  	// deselect without traversing hierarchy -	item->recursiveDeselect(TRUE);  	getRoot()->removeFromSelectionList(item);  	extractItem(item);  	delete item; diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h index be8e73a5a9..655ad89e99 100644 --- a/indra/newview/llfolderviewitem.h +++ b/indra/newview/llfolderviewitem.h @@ -150,7 +150,6 @@ protected:  	BOOL						mHasVisibleChildren;  	S32							mIndentation;  	S32							mItemHeight; -	S32							mNumDescendantsSelected;  	BOOL						mPassedFilter;  	S32							mLastFilterGeneration;  	std::string::size_type		mStringMatchOffset; @@ -231,9 +230,6 @@ public:  	// this method is used to group select items  	virtual S32 extendSelection(LLFolderViewItem* selection, LLFolderViewItem* last_selected, LLDynamicArray<LLFolderViewItem*>& items){ return FALSE; } -	// this method is used to group select items -	virtual void recursiveDeselect(BOOL deselect_self); -  	// gets multiple-element selection  	virtual BOOL getSelectionList(std::set<LLUUID> &selection) const {return TRUE;} @@ -246,10 +242,10 @@ public:  	// destroys this item recursively  	virtual void destroyView(); -	S32 getNumSelectedDescendants() { return mNumDescendantsSelected; } -  	BOOL isSelected() { return mIsSelected; } +	void setUnselected() { mIsSelected = FALSE; } +  	void setIsCurSelection(BOOL select) { mIsCurSelection = select; }  	BOOL getIsCurSelection() { return mIsCurSelection; } @@ -441,8 +437,6 @@ public:  	// this method is used to group select items  	virtual S32 extendSelection(LLFolderViewItem* selection, LLFolderViewItem* last_selected, LLDynamicArray<LLFolderViewItem*>& items); -	virtual void recursiveDeselect(BOOL deselect_self); -  	// Returns true is this object and all of its children can be removed.  	virtual BOOL isRemovable(); diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index 6fcba80845..dedd1afcde 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -1642,7 +1642,7 @@ void LLPanelObjectInventory::updateInventory()  	// We're still interested in this task's inventory.  	std::set<LLUUID> selected_items;  	BOOL inventory_has_focus = FALSE; -	if (mHaveInventory && mFolders->getNumSelectedDescendants()) +	if (mHaveInventory)  	{  		mFolders->getSelectionList(selected_items);  		inventory_has_focus = gFocusMgr.childHasKeyboardFocus(mFolders); diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index b21758d3b3..133b6ee8c9 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -82,7 +82,7 @@ LLTexturePipelineTester* LLViewerTextureManager::sTesterp = NULL ;  S32 LLViewerTexture::sImageCount = 0;  S32 LLViewerTexture::sRawCount = 0;  S32 LLViewerTexture::sAuxCount = 0; -LLTimer LLViewerTexture::sEvaluationTimer; +LLFrameTimer LLViewerTexture::sEvaluationTimer;  F32 LLViewerTexture::sDesiredDiscardBias = 0.f;  F32 LLViewerTexture::sDesiredDiscardScale = 1.1f;  S32 LLViewerTexture::sBoundTextureMemoryInBytes = 0; @@ -102,7 +102,7 @@ F32 LLViewerTexture::sCurrentTime = 0.0f ;  BOOL LLViewerTexture::sUseTextureAtlas        = FALSE ;  const F32 desired_discard_bias_min = -2.0f; // -max number of levels to improve image quality by -const F32 desired_discard_bias_max = 1.5f; // max number of levels to reduce image quality by +const F32 desired_discard_bias_max = (F32)MAX_DISCARD_LEVEL; // max number of levels to reduce image quality by  const F64 log_2 = log(2.0);  //---------------------------------------------------------------------------------------------- @@ -369,7 +369,7 @@ S32 LLViewerTexture::getCategoryFromIndex(S32 index)  }  // tuning params -const F32 discard_bias_delta = .05f; +const F32 discard_bias_delta = .25f;  const F32 discard_delta_time = 0.5f;  const S32 min_non_tex_system_mem = (128<<20); // 128 MB  // non-const (used externally @@ -2741,7 +2741,7 @@ void LLViewerLODTexture::processTextureStats()  				mCalculatedDiscardLevel = discard_level;  			}  		} -		if (mBoostLevel < LLViewerTexture::BOOST_HIGH) +		if (mBoostLevel < LLViewerTexture::BOOST_SCULPTED)  		{  			discard_level += sDesiredDiscardBias;  			discard_level *= sDesiredDiscardScale; // scale @@ -2767,8 +2767,7 @@ void LLViewerLODTexture::processTextureStats()  		//  		S32 current_discard = getDiscardLevel(); -		if ((sDesiredDiscardBias > 0.0f) && -			(current_discard >= 0 && mDesiredDiscardLevel >= current_discard)) +		if (sDesiredDiscardBias > 0.0f && mBoostLevel < LLViewerTexture::BOOST_SCULPTED && current_discard >= 0)  		{  			// Limit the amount of GL memory bound each frame  			if ( BYTES_TO_MEGA_BYTES(sBoundTextureMemoryInBytes) > sMaxBoundTextureMemInMegaBytes * texmem_middle_bound_scale && diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index 6dc18085e0..a09a711cc7 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -300,7 +300,7 @@ public:  	static S32 sImageCount;  	static S32 sRawCount;  	static S32 sAuxCount; -	static LLTimer sEvaluationTimer; +	static LLFrameTimer sEvaluationTimer;  	static F32 sDesiredDiscardBias;  	static F32 sDesiredDiscardScale;  	static S32 sBoundTextureMemoryInBytes; | 
