summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterpreference.cpp
diff options
context:
space:
mode:
authorrichard <none@none>2009-12-17 09:57:43 -0800
committerrichard <none@none>2009-12-17 09:57:43 -0800
commitcf63ce4dc1176d9df4fe852821e4a6d32332f7c6 (patch)
tree8e77e822118f4979759caab99df48975f79994c7 /indra/newview/llfloaterpreference.cpp
parentf452c01915be011814d92dcc1a398f450b6ce9c2 (diff)
parent4dd37a10633c95a9806b608b4db4d0a2d3141a21 (diff)
merge
Diffstat (limited to 'indra/newview/llfloaterpreference.cpp')
-rw-r--r--indra/newview/llfloaterpreference.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index ab27375b87..a333868b8c 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -588,6 +588,9 @@ void LLFloaterPreference::onOpen(const LLSD& key)
// when the floater is opened. That will make cancel do its
// job
saveSettings();
+
+ // This is a "fresh" floater, closing floater shoud cancel any changes
+ mCancelOnClose = true;
}
void LLFloaterPreference::onVertexShaderEnable()
@@ -633,7 +636,11 @@ void LLFloaterPreference::onBtnOK()
// that prevents cancel from undoing our changes when we hit OK
mCancelOnClose = false;
closeFloater(false);
- mCancelOnClose = true;
+
+ // closeFloater() will be called when viewer is quitting, leaving mCancelOnClose = true;
+ // will cancel all changes we saved here, don't let this happen.
+ // Fix for EXT-3465
+
gSavedSettings.saveToFile( gSavedSettings.getString("ClientSettingsFile"), TRUE );
LLUIColorTable::instance().saveUserSettings();
std::string crash_settings_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, CRASH_SETTINGS_FILE);