diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 322cbd6f79..47e03dd7b6 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -20944,6 +20944,19 @@ Change of this parameter will affect the layout of buttons in notification toast String Value - + + FSFirstRunAfterSettingsRestore + + Comment + Specifies that you have not run the viewer since you performed a settings restore + Persist + 1 + Type + Boolean + Value + 0 + Backup + 0 + diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index de9a29133c..6943e419f9 100755 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -329,6 +329,22 @@ They are not used in current viewer anymore. But they can't be removed to avoid influence on previous versions of the viewer in case of settings are not used or default value should be changed. See EXT-6661. --> + + LogInstantMessages + + Comment + (DEPRECATED) Only used for restoring settings!!! Use KeepConversationLogTranscripts + Persist + 1 + HideFromEditor + 1 + Type + Boolean + Value + 1 + Backup + 0 + LogChat diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index d8c9f87afd..ccbb3823ef 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2778,6 +2778,15 @@ bool LLAppViewer::initConfiguration() // Note that the "FirstRunThisInstall" settings is currently unused. gSavedSettings.setBOOL("FirstRunThisInstall", FALSE); } + + // Compatibility with old backups + // Put gSavedSettings here, gSavedPerAccountSettings in llstartup.cpp + // *TODO: Should we keep these around forever or just three release cycles? + if (gSavedSettings.getBOOL("FSFirstRunAfterSettingsRestore")) + { + // Nothing happened... + } + // //WS: Set the usersessionsettingsfile to the account_SessionSettingsFile file. This allows settings_per_accounts to be per session. if(!gSavedSettings.getString("SessionSettingsFile").empty()) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 3a66f70ed0..3a241573e1 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -3698,6 +3698,9 @@ void FSPanelPreferenceBackup:: doRestoreSettings(const LLSD& notification,const } } } + // Set this true so we can update newer settings with their deprecated counterparts on next launch + gSavedSettings.setBOOL("FSFirstRunAfterSettingsRestore", TRUE); + // Tell the user we have finished restoring settings and the viewer must shut down LLNotificationsUtil::add("RestoreFinished",LLSD(),LLSD(),boost::bind(&FSPanelPreferenceBackup::onQuitConfirmed,this,_1,_2)); } diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index fd7098b931..624c52360c 100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2228,8 +2228,25 @@ LLWorld::getInstance()->addRegion(gFirstSimHandle, gFirstSim, first_sim_size_x, LLFloaterReg::toggleInstanceOrBringToFront("im_container"); } - + display_startup(); + + // Compatibility with old backups + // Put gSavedPerAccountSettings here, put gSavedSettings in llappviewer.cpp + // *TODO: Should we keep these around forever or just three release cycles? + if (gSavedSettings.getBOOL("FSFirstRunAfterSettingsRestore")) + { + // Post-chui merge logging change + if (gSavedPerAccountSettings.getBOOL("LogInstantMessages")) + gSavedPerAccountSettings.setS32("KeepConversationLogTranscript", 2); + else + gSavedPerAccountSettings.setS32("KeepConversationLogTranscript", 0); + + //ok, we're done, set it back to false. + gSavedSettings.setBOOL("FSFirstRunAfterSettingsRestore", FALSE); + } + display_startup(); + // if (gSavedSettings.getBOOL("HelpFloaterOpen")) {