summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/viewer_components/updater/llupdaterservice.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/indra/viewer_components/updater/llupdaterservice.cpp b/indra/viewer_components/updater/llupdaterservice.cpp
index ea242f45cd..20534fdf3a 100644
--- a/indra/viewer_components/updater/llupdaterservice.cpp
+++ b/indra/viewer_components/updater/llupdaterservice.cpp
@@ -375,7 +375,11 @@ void LLUpdaterServiceImpl::optionalUpdate(std::string const & newVersion,
mIsDownloading = true;
mUpdateDownloader.download(uri, hash, newVersion, false);
- setState(LLUpdaterService::DOWNLOADING);
+ if(getState() != LLUpdaterService::FAILURE) {
+ setState(LLUpdaterService::DOWNLOADING);
+ } else {
+ ; // Download failed snynchronously; we are done.
+ }
}
void LLUpdaterServiceImpl::requiredUpdate(std::string const & newVersion,
@@ -387,7 +391,11 @@ void LLUpdaterServiceImpl::requiredUpdate(std::string const & newVersion,
mIsDownloading = true;
mUpdateDownloader.download(uri, hash, newVersion, true);
- setState(LLUpdaterService::DOWNLOADING);
+ if(getState() != LLUpdaterService::FAILURE) {
+ setState(LLUpdaterService::DOWNLOADING);
+ } else {
+ ; // Download failed snynchronously; we are done.
+ }
}
void LLUpdaterServiceImpl::upToDate(void)