From c7b69713b794b9c326a79aad6cdee542c57ada4d Mon Sep 17 00:00:00 2001
From: Alexei Arabadji <aarabadji@productengine.com>
Date: Tue, 22 Dec 2009 20:14:51 +0200
Subject: =?UTF-8?q?fixed=20EXT-3564=20=E2=80=9CDocked=20windows=20hide=20w?=
 =?UTF-8?q?hen=20clicking=20on=20sidetray=20tabs=E2=80=9D,=20added=20sidet?=
 =?UTF-8?q?ray=20tab=20buttons=20panel=20to=20transient=20manager=20contro?=
 =?UTF-8?q?l=20list,=20added=20right=20padding=20to=20the=20docking=20rect?=
 =?UTF-8?q?=20area=20to=20avoid=20overlapping=20docked=20IM=20floaters=20w?=
 =?UTF-8?q?ith=20sidetray=20buttons;?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

--HG--
branch : product-engine
---
 indra/newview/llimfloater.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index acaa6076f8..d511e6cd64 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -56,6 +56,7 @@
 #include "llvoicechannel.h"
 #include "lltransientfloatermgr.h"
 #include "llinventorymodel.h"
+#include "llrootview.h"
 
 
 
@@ -437,6 +438,16 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id)
 void LLIMFloater::getAllowedRect(LLRect& rect)
 {
 	rect = gViewerWindow->getWorldViewRectRaw();
+	static S32 right_padding = 0;
+	if (right_padding == 0)
+	{
+		LLPanel* side_bar_tabs =
+				gViewerWindow->getRootView()->getChild<LLPanel> (
+						"side_bar_tabs");
+		right_padding = side_bar_tabs->getRect().getWidth();
+		LLTransientFloaterMgr::getInstance()->addControlView(side_bar_tabs);
+	}
+	rect.mRight -= right_padding;
 }
 
 void LLIMFloater::setDocked(bool docked, bool pop_on_undock)
-- 
cgit v1.2.3