diff options
author | James Cook <james@lindenlab.com> | 2008-10-28 23:56:20 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2008-10-28 23:56:20 +0000 |
commit | b406972af1ce404b19639cdbe955f07d2f8fb61f (patch) | |
tree | 7bc82814b795f608b341a4402b0390fe285bee5f /indra/newview/llstartup.cpp | |
parent | 7a9360c8bc5b5819aec805cf1583fa7c84ea02ea (diff) |
svn merge -r100302:100467 installer-james-combo-merge for QAR-972, incorporating:
QAR-892 Windows installer that pings secondlife.com on launch
QAR-837 Six New Languages in the Installer
QAR-908 downloader-support-1 merge
Diffstat (limited to 'indra/newview/llstartup.cpp')
-rw-r--r-- | indra/newview/llstartup.cpp | 56 |
1 files changed, 18 insertions, 38 deletions
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 4f98c3b524..1f1e56fce8 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1101,6 +1101,7 @@ bool idle_startup() LL_DEBUGS("AppInit") << "STATE_LOGIN_PROCESS_RESPONSE" << LL_ENDL; std::ostringstream emsg; bool quit = false; + bool update = false; std::string login_response; std::string reason_response; std::string message_response; @@ -1144,11 +1145,7 @@ bool idle_startup() reason_response = LLUserAuth::getInstance()->getResponse("reason"); message_response = LLUserAuth::getInstance()->getResponse("message"); - if (gHideLinks && reason_response == "disabled") - { - emsg << gDisabledMessage; - } - else if (!message_response.empty()) + if (!message_response.empty()) { // XUI: fix translation for strings returned during login // We need a generic table for translations @@ -1206,16 +1203,7 @@ bool idle_startup() if(reason_response == "update") { auth_message = LLUserAuth::getInstance()->getResponse("message"); - if (show_connect_box) - { - update_app(TRUE, auth_message); - LLStartUp::setStartupState( STATE_UPDATE_CHECK ); - return false; - } - else - { - quit = true; - } + update = true; } if(reason_response == "optional") { @@ -1253,6 +1241,21 @@ bool idle_startup() break; } + if (update || gSavedSettings.getBOOL("ForceMandatoryUpdate")) + { + gSavedSettings.setBOOL("ForceMandatoryUpdate", FALSE); + if (show_connect_box) + { + update_app(TRUE, auth_message); + LLStartUp::setStartupState( STATE_UPDATE_CHECK ); + return false; + } + else + { + quit = true; + } + } + // Version update and we're not showing the dialog if(quit) { @@ -2840,29 +2843,6 @@ void update_dialog_callback(S32 option, void *userdata) std::ostringstream params; params << "-url \"" << update_url.asString() << "\""; - if (gHideLinks) - { - // Figure out the program name. - const std::string& data_dir = gDirUtilp->getAppRODataDir(); - // Roll back from the end, stopping at the first '\' - const char* program_name = data_dir.c_str() + data_dir.size(); /* Flawfinder: ignore */ - while ( (data_dir != --program_name) && - *(program_name) != '\\'); - - if ( *(program_name) == '\\') - { - // We found a '\'. - program_name++; - } - else - { - // Oops. - program_name = "SecondLife"; - } - - params << " -silent -name \"" << LLAppViewer::instance()->getSecondLifeTitle() << "\""; - params << " -program \"" << program_name << "\""; - } LL_DEBUGS("AppInit") << "Calling updater: " << update_exe_path << " " << params.str() << LL_ENDL; |