diff options
| author | Nyx (Neal Orman) <nyx@lindenlab.com> | 2009-12-16 12:16:24 -0500 | 
|---|---|---|
| committer | Nyx (Neal Orman) <nyx@lindenlab.com> | 2009-12-16 12:16:24 -0500 | 
| commit | ace0be2a7c0665e382e47aeedfcffed7410e11a9 (patch) | |
| tree | 2d437342310d52806c6b378f1046ad56d9eb6456 /indra/llui/lldockablefloater.cpp | |
| parent | 90bb29245cbd9626f840f1d16c351ac415f7c35e (diff) | |
| parent | 1e5f2f5d8c4264cc704c687aa1b624296b6444e2 (diff) | |
merge with avp-tip
--HG--
branch : avatar-pipeline
Diffstat (limited to 'indra/llui/lldockablefloater.cpp')
| -rw-r--r-- | indra/llui/lldockablefloater.cpp | 19 | 
1 files changed, 15 insertions, 4 deletions
diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp index 9c69e4f2b6..9dc7861992 100644 --- a/indra/llui/lldockablefloater.cpp +++ b/indra/llui/lldockablefloater.cpp @@ -38,6 +38,8 @@  //static  LLHandle<LLFloater> LLDockableFloater::sInstanceHandle; +static const std::string VOICE_FLOATER("floater_voice_controls"), IM_FLOATER("panel_im"); +  //static  void LLDockableFloater::init(LLDockableFloater* thiz)  { @@ -98,8 +100,15 @@ void LLDockableFloater::toggleInstance(const LLSD& sdname)  	else if (instance != NULL)  	{  		instance->setMinimized(FALSE); -		instance->setVisible(TRUE); -		gFloaterView->bringToFront(instance); +		if (instance->getVisible()) +		{ +			instance->setVisible(FALSE); +		} +		else +		{ +			instance->setVisible(TRUE); +			gFloaterView->bringToFront(instance); +		}  	}  } @@ -107,9 +116,11 @@ void LLDockableFloater::resetInstance()  {  	if (mUniqueDocking && sInstanceHandle.get() != this)  	{ -		if (sInstanceHandle.get() != NULL && sInstanceHandle.get()->isDocked()) +		if (sInstanceHandle.get() != NULL && sInstanceHandle.get()->isDocked() +				&& (getName() != VOICE_FLOATER || sInstanceHandle.get()->getName() != IM_FLOATER) +					&& (getName() !=  IM_FLOATER || sInstanceHandle.get()->getName() != VOICE_FLOATER))  		{ -			sInstanceHandle.get()->setVisible(FALSE); +				sInstanceHandle.get()->setVisible(FALSE);  		}  		sInstanceHandle = getHandle();  	}  | 
