summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Zaporozhan <dzaporozhan@productengine.com>2009-12-15 16:18:26 +0200
committerDmitry Zaporozhan <dzaporozhan@productengine.com>2009-12-15 16:18:26 +0200
commit40fa0368919da7b4f3c105c6bdf3a497ac29c360 (patch)
tree6813e7b9d3a6c6bd544a9f55869f846eebaa451f
parentfe56e4fbfb57e24b83ed644e8b3843abd409ed75 (diff)
Fix for normal bug EXT-3465 - Any changes made in Preferences floater are canceled after viewer shutdown.
--HG-- branch : product-engine
-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);