From ffa53cf63f28539c9bed92dc70f916a7f068de71 Mon Sep 17 00:00:00 2001
From: Paul ProductEngine <pguslisty@productengine.com>
Date: Mon, 17 Oct 2011 16:42:14 +0200
Subject: [PATCH] EXP-1333 FIXED (Move IM toasts to upper right and flip
 vertically)

- Nearby chat toasts flipped vertically
- Fixed notification and IM well floaters docking state saving.
---
 indra/newview/llnearbychathandler.cpp                | 12 ++++++------
 .../skins/default/xui/en/floater_sys_well.xml        |  1 +
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp
index 1ba1d2f0f06..8607718e905 100644
--- a/indra/newview/llnearbychathandler.cpp
+++ b/indra/newview/llnearbychathandler.cpp
@@ -384,9 +384,9 @@ void LLNearbyChatScreenChannel::arrangeToasts()
 	channel_rect.mLeft += 10;
 	channel_rect.mRight = channel_rect.mLeft + 300;
 
-	S32 channel_bottom = channel_rect.mBottom;
+	S32 channel_top = channel_rect.mTop;
 
-	S32		bottom = channel_bottom + 10;
+	S32		top = channel_top - 10;
 	S32		margin = gSavedSettings.getS32("ToastGap");
 
 	//sort active toasts
@@ -403,9 +403,9 @@ void LLNearbyChatScreenChannel::arrangeToasts()
 			continue;
 		}
 
-		S32 toast_top = bottom + toast->getRect().getHeight() + margin;
+		S32 toast_bottom = top - toast->getRect().getHeight() - margin;
 
-		if(toast_top > channel_rect.getHeight())
+		if(toast_bottom < channel_rect.mBottom)
 		{
 			while(it!=m_active_toasts.end())
 			{
@@ -416,10 +416,10 @@ void LLNearbyChatScreenChannel::arrangeToasts()
 		}
 
 		toast_rect = toast->getRect();
-		toast_rect.setLeftTopAndSize(channel_rect.mLeft , bottom + toast_rect.getHeight(), toast_rect.getWidth() ,toast_rect.getHeight());
+		toast_rect.setOriginAndSize(channel_rect.mLeft , toast_bottom, toast_rect.getWidth() ,toast_rect.getHeight());
 
 		toast->setRect(toast_rect);
-		bottom += toast_rect.getHeight() - toast->getTopPad() + margin;
+		top -= toast_rect.getHeight() - toast->getTopPad() + margin;
 	}
 	
 	// use reverse order to provide correct z-order and avoid toast blinking
diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml
index 62501ea2b7e..9b96a5badc7 100644
--- a/indra/newview/skins/default/xui/en/floater_sys_well.xml
+++ b/indra/newview/skins/default/xui/en/floater_sys_well.xml
@@ -16,6 +16,7 @@
  can_resize="true"
  can_drag_on_left="false"
  can_dock="true"
+ save_dock_state="true"
  save_visibility="true"
  single_instance="true"
 >
-- 
GitLab