diff options
-rw-r--r-- | indra/newview/llappviewer.cpp | 16 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 10 | ||||
-rw-r--r-- | indra/viewer_components/updater/llupdaterservice.cpp | 4 | ||||
-rw-r--r-- | indra/viewer_components/updater/llupdaterservice.h | 3 |
4 files changed, 30 insertions, 3 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 0c6c77566f..93fd75f74b 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 40d5f75de2..a342db8442 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -2870,6 +2870,16 @@ Download to your Applications folder? </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" type="notifytip"> diff --git a/indra/viewer_components/updater/llupdaterservice.cpp b/indra/viewer_components/updater/llupdaterservice.cpp index 58f2c7da76..b49f6d04b0 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 8d0b95be86..3655136f3c 100644 --- a/indra/viewer_components/updater/llupdaterservice.h +++ b/indra/viewer_components/updater/llupdaterservice.h @@ -47,7 +47,8 @@ public: enum UpdateEvent { INVALID, DOWNLOAD_COMPLETE, - DOWNLOAD_ERROR + DOWNLOAD_ERROR, + INSTALL_ERROR }; LLUpdaterService(); |