From 6c60f214fd4959c9cd71df566edbfe0dc902496f Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Mon, 5 Mar 2012 20:10:17 -0800
Subject: CHUI-55 FIX Floaters that have set positions from old viewer versions
 can appear off screen until user repositions the floaters manually

---
 indra/llui/llfloater.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index d058b4ae44..b091a4a1f7 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -933,8 +933,13 @@ void LLFloater::applyPositioning(LLFloater* other, bool on_open)
 	case LLFloaterEnums::POSITIONING_SPECIFIED:
 		break;
 
-	case LLFloaterEnums::POSITIONING_CASCADE_GROUP:
 	case LLFloaterEnums::POSITIONING_CASCADING:
+		if (!on_open)
+		{
+			applyRelativePosition();
+		}
+		// fall through
+	case LLFloaterEnums::POSITIONING_CASCADE_GROUP:
 		if (on_open)
 		{
 			if (other != NULL && other != this)
@@ -3286,7 +3291,7 @@ void LLFloater::stackWith(LLFloater& other)
 	
 	setShape(next_rect);
 
-	//other.mPositioning = LLFloaterEnums::POSITIONING_SPECIFIED;
+	other.mPositioning = LLFloaterEnums::POSITIONING_CASCADE_GROUP;
 	other.setFollows(FOLLOWS_LEFT | FOLLOWS_TOP);
 }
 
-- 
cgit v1.2.3