diff options
| author | Leslie Linden <leslie@lindenlab.com> | 2011-09-27 12:40:47 -0700 | 
|---|---|---|
| committer | Leslie Linden <leslie@lindenlab.com> | 2011-09-27 12:40:47 -0700 | 
| commit | a686aeabffe619c9a467455982f1a39968fbd9e3 (patch) | |
| tree | b55824f81c3db7a2980b43874a63ba315be86102 | |
| parent | b6feeea2b550b981dbb04558902020e8cae16f7b (diff) | |
* Modified toolbar context menus to bind to the specific instance of the toolbar
| -rw-r--r-- | indra/llui/lltoolbar.cpp | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp index 2fb9f249d4..9986eece2d 100644 --- a/indra/llui/lltoolbar.cpp +++ b/indra/llui/lltoolbar.cpp @@ -123,12 +123,16 @@ void LLToolBar::createContextMenu()  {  	if (!mPopupMenuHandle.get())  	{ +		// Setup bindings specific to this instance for the context menu options +  		LLUICtrl::CommitCallbackRegistry::Registrar& commit_reg = LLUICtrl::CommitCallbackRegistry::defaultRegistrar();  		commit_reg.add("Toolbars.EnableSetting", boost::bind(&LLToolBar::onSettingEnable, this, _2));  		LLUICtrl::EnableCallbackRegistry::Registrar& enable_reg = LLUICtrl::EnableCallbackRegistry::defaultRegistrar();  		enable_reg.add("Toolbars.CheckSetting", boost::bind(&LLToolBar::isSettingChecked, this, _2)); +		// Create the context menu +  		LLContextMenu* menu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_toolbars.xml", LLMenuGL::sMenuContainer, LLMenuHolderGL::child_registry_t::instance());  		if (menu) @@ -141,6 +145,10 @@ void LLToolBar::createContextMenu()  		{  			llwarns << "Unable to load toolbars context menu." << llendl;  		} + +		// Remove this instance's bindings +		commit_reg.remove("Toolbars.EnableSetting"); +		enable_reg.remove("Toolbars.CheckSetting");  	}  } @@ -251,11 +259,13 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask)  	if (handle_it_here)  	{  		createContextMenu(); +  		LLContextMenu * menu = (LLContextMenu *) mPopupMenuHandle.get();  		if (menu)  		{  			menu->show(x, y); +  			LLMenuGL::showPopup(this, menu, x, y);  		}  	} | 
