diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 29d05b8002d0bc1b120a09ec67983746ba2ccd52..c1faa304a81a2f7f77ccec3cc70d1956e9e74b71 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 1f0a9252c869e12d63d882f326e4a6fa5e9c3357..21cb3380c9e8f0e6c4515065961f5fb11120ed47 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; }