diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 0c6c77566f969b51c532033a602c85980001cbd5..93fd75f74b8879763a65926a23012b6ce7b1c677 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2390,8 +2390,20 @@ namespace { // do we need a file llupdaterui.cpp or something? -brad bool notify_update(LLSD const & evt) { - LLNotificationsUtil::add("DownloadBackground"); - // let others also handle this event by default + switch (evt["type"].asInteger()) + { + case LLUpdaterService::DOWNLOAD_COMPLETE: + LLNotificationsUtil::add("DownloadBackground"); + break; + case LLUpdaterService::INSTALL_ERROR: + LLNotificationsUtil::add("FailedUpdateInstall"); + break; + default: + llinfos << "unhandled update event " << evt << llendl; + break; + } + + // let others also handle this event by default return false; } }; diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 40d5f75de2d9356556a7c77b7057954ea7bf30a9..a342db8442c57357308d2e63eed3de2990e6bc01 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -2869,6 +2869,16 @@ Download to your Applications folder? yestext="Download"/> </notification> + <notification + icon="alertmodal.tga" + name="FailedUpdateInstall" + type="alertmodal"> +Gadzooks, I failed to install the latest update. +Get thee to the interwebs and install it thyself. + <usetemplate + name="okbutton" + yestext="OK"/> + </notification> <notification icon="notifytip.tga" name="DownloadBackground" diff --git a/indra/viewer_components/updater/llupdaterservice.cpp b/indra/viewer_components/updater/llupdaterservice.cpp index 58f2c7da769b0ef8eb0ad0f9c18daef5d3a567d9..b49f6d04b0daa443d0e43b311d932695a511460e 100644 --- a/indra/viewer_components/updater/llupdaterservice.cpp +++ b/indra/viewer_components/updater/llupdaterservice.cpp @@ -408,6 +408,10 @@ bool LLUpdaterServiceImpl::onMainLoop(LLSD const & event) llinfos << "found marker " << ll_install_failed_marker_path() << llendl; llinfos << "last install attempt failed" << llendl; LLFile::remove(ll_install_failed_marker_path()); + + LLSD event; + event["type"] = LLSD(LLUpdaterService::INSTALL_ERROR); + LLEventPumps::instance().obtain(LLUpdaterService::pumpName()).post(event); } else { diff --git a/indra/viewer_components/updater/llupdaterservice.h b/indra/viewer_components/updater/llupdaterservice.h index 8d0b95be86fddda152eaa9973d825a7b028d5b03..3655136f3c8bff8d80df051341d94fff29c845b2 100644 --- a/indra/viewer_components/updater/llupdaterservice.h +++ b/indra/viewer_components/updater/llupdaterservice.h @@ -47,7 +47,8 @@ class LLUpdaterService enum UpdateEvent { INVALID, DOWNLOAD_COMPLETE, - DOWNLOAD_ERROR + DOWNLOAD_ERROR, + INSTALL_ERROR }; LLUpdaterService();