From ea1c3218e2ca70623ef348dcae36d667e095394f Mon Sep 17 00:00:00 2001
From: Richard Nelson <richard@lindenlab.com>
Date: Wed, 19 Oct 2011 17:47:05 -0700
Subject: EXP-1411 FIX "Speak" button enabled in regions with disabled voice
 EXP-1424 FIX Floaters open on top of one another in default position with no
 offset floaters now stack with their own kind preferentially

---
 indra/llui/llfloater.cpp  | 7 ++++++-
 indra/newview/llagent.cpp | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

(limited to 'indra')

diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 29d05b8002..c1faa304a8 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -685,7 +685,12 @@ void LLFloater::openFloater(const LLSD& key)
 	}
 	else
 	{
-		applyControlsAndPosition(LLFloaterReg::getLastFloaterCascading());
+		LLFloater* floater_to_stack = LLFloaterReg::getLastFloaterInGroup(mInstanceName);
+		if (!floater_to_stack)
+		{
+			floater_to_stack = LLFloaterReg::getLastFloaterCascading();
+		}
+		applyControlsAndPosition(floater_to_stack);
 		setMinimized(FALSE);
 		setVisibleAndFrontmost(mAutoFocus);
 	}
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 1f0a9252c8..21cb3380c9 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -175,7 +175,7 @@ bool LLAgent::isActionAllowed(const LLSD& sdname)
 	}
 	else if (param == "speak")
 	{
-		if ( gAgent.isVoiceConnected() )
+		if ( gAgent.isVoiceConnected() && LLViewerParcelMgr::getInstance()->allowAgentVoice() )
 		{
 			retval = true;
 		}
-- 
cgit v1.2.3