From 2ab4bf8b35bed067a1e7871e921e489fdc8322aa Mon Sep 17 00:00:00 2001
From: Alexei Arabadji <aarabadji@productengine.com>
Date: Wed, 17 Feb 2010 15:22:39 +0200
Subject: [PATCH] =?UTF-8?q?fixed=20EXT-5378=20=E2=80=9CTransient=20excepti?=
 =?UTF-8?q?on=20manager=20doesn't=20work=20if=20switch=20to=20tabbed=20IM?=
 =?UTF-8?q?=20window=E2=80=9D,=20added=20side=20tray=20tab=20to=20global?=
 =?UTF-8?q?=20group=20of=20transient=20exception=20list;=20added=20LLIMFlo?=
 =?UTF-8?q?aterContainer=20to=20IM=20group=20of=20transient=20exception=20?=
 =?UTF-8?q?list;=20made=20VCP=20belongs=20to=20IM=20transient=20group;?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

--HG--
branch : product-engine
---
 indra/newview/llcallfloater.h          | 4 ++++
 indra/newview/llimfloatercontainer.cpp | 7 ++++++-
 indra/newview/llsidetray.cpp           | 5 +++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h
index dac4390fa7..0a8ea7de39 100644
--- a/indra/newview/llcallfloater.h
+++ b/indra/newview/llcallfloater.h
@@ -260,6 +260,10 @@ private:
 	 * @see sOnCurrentChannelChanged()
 	 */
 	static LLVoiceChannel* sCurrentVoiceCanel;
+
+	/* virtual */
+	LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::IM; }
+
 	boost::signals2::connection mVoiceChannelStateChangeConnection;
 };
 
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index 2f248f3596..db7998fe6e 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -39,6 +39,7 @@
 #include "llavatariconctrl.h"
 #include "llgroupiconctrl.h"
 #include "llagent.h"
+#include "lltransientfloatermgr.h"
 
 //
 // LLIMFloaterContainer
@@ -47,9 +48,13 @@ LLIMFloaterContainer::LLIMFloaterContainer(const LLSD& seed)
 :	LLMultiFloater(seed)
 {
 	mAutoResize = FALSE;
+	LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::IM, this);
 }
 
-LLIMFloaterContainer::~LLIMFloaterContainer(){}
+LLIMFloaterContainer::~LLIMFloaterContainer()
+{
+	LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::IM, this);
+}
 
 BOOL LLIMFloaterContainer::postBuild()
 {
diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp
index 50c47e293e..fba1503b4a 100644
--- a/indra/newview/llsidetray.cpp
+++ b/indra/newview/llsidetray.cpp
@@ -248,6 +248,11 @@ LLSideTray::LLSideTray(Params& params)
 	// panel_name should be specified via "parameter" attribute.
 	commit.add("SideTray.ShowPanel", boost::bind(&LLSideTray::showPanel, this, _2, LLUUID::null));
 	LLTransientFloaterMgr::getInstance()->addControlView(this);
+	LLView* side_bar_tabs  = gViewerWindow->getRootView()->getChildView("side_bar_tabs");
+	if (side_bar_tabs != NULL)
+	{
+		LLTransientFloaterMgr::getInstance()->addControlView(side_bar_tabs);
+	}
 
 	LLPanel::Params p;
 	p.name = "buttons_panel";
-- 
GitLab