summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2012-05-01 13:26:20 -0400
committerOz Linden <oz@lindenlab.com>2012-05-01 13:26:20 -0400
commit5d92c60a4a4707eb18d9932afd01b196792830a2 (patch)
treece5da851a9ef20a598456b6f21c1068a2b6f8803
parentd6569db3520f7e0ce2d93febb6f4e26b48c08a3d (diff)
parentbea4733193121a3918269101ba68fd7282e158ae (diff)
merge changes for storm-1842
-rw-r--r--doc/contributions.txt2
-rw-r--r--indra/newview/llappviewer.cpp12
-rw-r--r--indra/newview/llappviewer.h1
3 files changed, 15 insertions, 0 deletions
diff --git a/doc/contributions.txt b/doc/contributions.txt
index 3851e62cfb..5c2d024af7 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -621,6 +621,7 @@ Jonathan Yap
STORM-1799
STORM-1796
STORM-1807
+ STORM-1842
STORM-1808
STORM-1809
STORM-1793
@@ -1280,6 +1281,7 @@ Zi Ree
VWR-24017
VWR-25588
STORM-1790
+ STORM-1842
Zipherius Turas
VWR-76
VWR-77
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 1174d108d2..047e9b1880 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -622,6 +622,7 @@ LLAppViewer::LLAppViewer() :
mPurgeOnExit(false),
mSecondInstance(false),
mSavedFinalSnapshot(false),
+ mSavePerAccountSettings(false), // don't save settings on logout unless login succeeded.
mForceGraphicsDetail(false),
mQuitRequested(false),
mLogoutRequestSent(false),
@@ -1742,6 +1743,13 @@ bool LLAppViewer::cleanup()
{
llinfos << "Not saving per-account settings; don't know the account name yet." << llendl;
}
+ // Only save per account settings if the previous login succeeded, otherwise
+ // we might end up with a cleared out settings file in case a previous login
+ // failed after loading per account settings.
+ else if (!mSavePerAccountSettings)
+ {
+ llinfos << "Not saving per-account settings; last login was not successful." << llendl;
+ }
else
{
gSavedPerAccountSettings.saveToFile(gSavedSettings.getString("PerAccountSettingsFile"), TRUE);
@@ -4956,6 +4964,10 @@ void LLAppViewer::handleLoginComplete()
mOnLoginCompleted();
writeDebugInfo();
+
+ // we logged in successfully, so save settings on logout
+ llinfos << "Login successful, per account settings will be saved on log out." << llendl;
+ mSavePerAccountSettings=true;
}
// *TODO - generalize this and move DSO wrangling to a helper class -brad
diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h
index 71a7868191..a3d19301e7 100644
--- a/indra/newview/llappviewer.h
+++ b/indra/newview/llappviewer.h
@@ -251,6 +251,7 @@ private:
bool mPurgeOnExit;
bool mSavedFinalSnapshot;
+ bool mSavePerAccountSettings; // only save per account settings if login succeeded
bool mForceGraphicsDetail;