From afb08192247138b8e8d86671a6dc001e041d1c82 Mon Sep 17 00:00:00 2001
From: Mnikolenko ProductEngine <mnikolenko@productengine.com>
Date: Wed, 3 Jun 2015 12:23:29 +0300
Subject: MAINT-1788 FIXED Cancel changes when clicking Close button or exiting
 Viewer.

---
 indra/newview/llfloaterpreference.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

(limited to 'indra/newview/llfloaterpreference.cpp')

diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index ee4396758e..4db1a83396 100755
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -2235,6 +2235,11 @@ void LLFloaterPreferenceProxy::onOpen(const LLSD& key)
 
 void LLFloaterPreferenceProxy::onClose(bool app_quitting)
 {
+	if(app_quitting)
+	{
+		cancel();
+	}
+
 	if (mSocksSettingsDirty)
 	{
 
@@ -2334,6 +2339,11 @@ void LLFloaterPreferenceProxy::onBtnCancel()
 	cancel();
 }
 
+void LLFloaterPreferenceProxy::onClickCloseBtn(bool app_quitting)
+{
+	cancel();
+}
+
 void LLFloaterPreferenceProxy::cancel()
 {
 
@@ -2344,7 +2354,7 @@ void LLFloaterPreferenceProxy::cancel()
 		LLSD ctrl_value = iter->second;
 		control->set(ctrl_value);
 	}
-
+	mSocksSettingsDirty = false;
 	closeFloater();
 }
 
-- 
cgit v1.2.3


From 3e0f31f406d4376fd9cd59b306fda5775ea5c4e6 Mon Sep 17 00:00:00 2001
From: Mnikolenko ProductEngine <mnikolenko@productengine.com>
Date: Tue, 23 Jun 2015 12:47:54 +0300
Subject: MAINT-5001 FIXED Logging in and then quickly logging out removes
 stored favorite login locations

---
 indra/newview/llfloaterpreference.cpp | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

(limited to 'indra/newview/llfloaterpreference.cpp')

diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 4db1a83396..dac610eda1 100755
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -49,6 +49,7 @@
 //#include "llfirstuse.h"
 #include "llfloaterreg.h"
 #include "llfloaterabout.h"
+#include "llfavoritesbar.h"
 #include "llfloaterhardwaresettings.h"
 #include "llfloatersidepanelcontainer.h"
 #include "llfloaterimsession.h"
@@ -1919,7 +1920,7 @@ BOOL LLPanelPreference::postBuild()
 	}
 	if (hasChild("favorites_on_login_check", TRUE))
 	{
-		getChild<LLCheckBoxCtrl>("favorites_on_login_check")->setCommitCallback(boost::bind(&showFavoritesOnLoginWarning, _1, _2));
+		getChild<LLCheckBoxCtrl>("favorites_on_login_check")->setCommitCallback(boost::bind(&handleFavoritesOnLoginChanged, _1, _2));
 		bool show_favorites_at_login = LLPanelLogin::getShowFavorites();
 		getChild<LLCheckBoxCtrl>("favorites_on_login_check")->setValue(show_favorites_at_login);
 	}
@@ -2004,11 +2005,15 @@ void LLPanelPreference::showFriendsOnlyWarning(LLUICtrl* checkbox, const LLSD& v
 	}
 }
 
-void LLPanelPreference::showFavoritesOnLoginWarning(LLUICtrl* checkbox, const LLSD& value)
+void LLPanelPreference::handleFavoritesOnLoginChanged(LLUICtrl* checkbox, const LLSD& value)
 {
-	if (checkbox && checkbox->getValue())
+	if (checkbox)
 	{
-		LLNotificationsUtil::add("FavoritesOnLogin");
+		LLFavoritesOrderStorage::instance().showFavoritesOnLoginChanged(checkbox->getValue().asBoolean());
+		if(checkbox->getValue())
+		{
+			LLNotificationsUtil::add("FavoritesOnLogin");
+		}
 	}
 }
 
-- 
cgit v1.2.3