diff options
| -rwxr-xr-x | indra/newview/llfavoritesbar.cpp | 7 | ||||
| -rwxr-xr-x | indra/newview/llfavoritesbar.h | 1 | 
2 files changed, 7 insertions, 1 deletions
| diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 6d90667194..b35ef3a961 100755 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -400,6 +400,8 @@ LLFavoritesBarCtrl::LLFavoritesBarCtrl(const LLFavoritesBarCtrl::Params& p)  	mMoreTextBox->setClickedCallback(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this));  	addChild(mMoreTextBox); +	mDropDownItemsCount = 0; +  	LLTextBox::Params label_param(p.label);  	mBarLabel = LLUICtrlFactory::create<LLTextBox> (label_param);  	addChild(mBarLabel); @@ -820,11 +822,13 @@ void LLFavoritesBarCtrl::updateButtons()  		}  		// Update overflow menu  		LLToggleableMenu* overflow_menu = static_cast <LLToggleableMenu*> (mOverflowMenuHandle.get()); -		if (overflow_menu && overflow_menu->getVisible()) +		if (overflow_menu && overflow_menu->getVisible() && (overflow_menu->getItemCount() != mDropDownItemsCount))  		{  			overflow_menu->setVisible(FALSE);  			if (mUpdateDropDownItems) +			{  				showDropDownMenu(); +			}  		}  	}  	else @@ -940,6 +944,7 @@ void LLFavoritesBarCtrl::showDropDownMenu()  		menu->updateParent(LLMenuGL::sMenuContainer);  		menu->setButtonRect(mMoreTextBox->getRect(), this);  		positionAndShowMenu(menu); +		mDropDownItemsCount = menu->getItemCount();  	}  } diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h index f06e9b9b64..211d3c4ce3 100755 --- a/indra/newview/llfavoritesbar.h +++ b/indra/newview/llfavoritesbar.h @@ -101,6 +101,7 @@ protected:  	LLUUID mFavoriteFolderId;  	const LLFontGL *mFont;  	S32 mFirstDropDownItem; +	S32 mDropDownItemsCount;  	bool mUpdateDropDownItems;  	bool mRestoreOverflowMenu; | 
