From d2a0457777a81c75b18c5eb255e6e02d47f97a80 Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Tue, 6 Dec 2011 15:35:10 -0800
Subject: [PATCH] EXP-1664 FIX Toolbars visible in mouselook view and when hide
 all controls selected

---
 indra/newview/lltoolbarview.cpp | 10 +++++-----
 indra/newview/lltoolbarview.h   |  1 +
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp
index 3872444e8f..eccb2cf2f1 100644
--- a/indra/newview/lltoolbarview.cpp
+++ b/indra/newview/lltoolbarview.cpp
@@ -73,6 +73,7 @@ LLToolBarView::ToolbarSet::ToolbarSet()
 LLToolBarView::LLToolBarView(const LLToolBarView::Params& p)
 :	LLUICtrl(p),
 	mDragStarted(false),
+	mShowToolbars(true),
 	mDragToolbarButton(NULL),
 	mToolbarsLoaded(false)
 {
@@ -532,7 +533,9 @@ void LLToolBarView::draw()
 	
 	for (S32 i = TOOLBAR_FIRST; i <= TOOLBAR_LAST; i++)
 	{
-		mToolbars[i]->getParent()->setVisible(mToolbars[i]->hasButtons() || isToolDragged());
+		mToolbars[i]->getParent()->setVisible(mShowToolbars 
+											&& (mToolbars[i]->hasButtons() 
+											|| isToolDragged()));
 	}
 
 	// Draw drop zones if drop of a tool is active
@@ -661,10 +664,7 @@ void LLToolBarView::resetDragTool(LLToolBarButton* toolbarButton)
 
 void LLToolBarView::setToolBarsVisible(bool visible)
 {
-	for (S32 i = TOOLBAR_FIRST; i <= TOOLBAR_LAST; i++)
-	{
-		mToolbars[i]->getParent()->setVisible(visible);
-	}
+	mShowToolbars = visible;
 }
 
 bool LLToolBarView::isModified() const
diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h
index b99e8bc28d..be66bcae36 100644
--- a/indra/newview/lltoolbarview.h
+++ b/indra/newview/lltoolbarview.h
@@ -129,6 +129,7 @@ private:
 	
 	bool				mDragStarted;
 	LLToolBarButton*	mDragToolbarButton;
+	bool				mShowToolbars;
 };
 
 extern LLToolBarView* gToolBarView;
-- 
GitLab