From 14042f631de03b0b6730fb8fdb89e7abc8202f4a Mon Sep 17 00:00:00 2001 From: "Andrew A. de Laix" Date: Mon, 24 Jan 2011 10:54:08 -0800 Subject: fix CHOP-369: catch case of synchronous download failure. --- indra/viewer_components/updater/llupdaterservice.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'indra') 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) -- cgit v1.2.3 From 9fa947ef741f6e63be1994e83fcf8f182e7eebed Mon Sep 17 00:00:00 2001 From: "Andrew A. de Laix" Date: Mon, 24 Jan 2011 14:58:10 -0800 Subject: a less brain dead fix for CHOP-369 --- indra/viewer_components/updater/llupdaterservice.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'indra') diff --git a/indra/viewer_components/updater/llupdaterservice.cpp b/indra/viewer_components/updater/llupdaterservice.cpp index 20534fdf3a..1888f191e2 100644 --- a/indra/viewer_components/updater/llupdaterservice.cpp +++ b/indra/viewer_components/updater/llupdaterservice.cpp @@ -373,13 +373,8 @@ void LLUpdaterServiceImpl::optionalUpdate(std::string const & newVersion, stopTimer(); mNewVersion = newVersion; mIsDownloading = true; + setState(LLUpdaterService::DOWNLOADING); mUpdateDownloader.download(uri, hash, newVersion, false); - - if(getState() != LLUpdaterService::FAILURE) { - setState(LLUpdaterService::DOWNLOADING); - } else { - ; // Download failed snynchronously; we are done. - } } void LLUpdaterServiceImpl::requiredUpdate(std::string const & newVersion, @@ -389,13 +384,8 @@ void LLUpdaterServiceImpl::requiredUpdate(std::string const & newVersion, stopTimer(); mNewVersion = newVersion; mIsDownloading = true; + setState(LLUpdaterService::DOWNLOADING); mUpdateDownloader.download(uri, hash, newVersion, true); - - if(getState() != LLUpdaterService::FAILURE) { - setState(LLUpdaterService::DOWNLOADING); - } else { - ; // Download failed snynchronously; we are done. - } } void LLUpdaterServiceImpl::upToDate(void) -- cgit v1.2.3 From 60696ae986c90068faa0191db737431493796dc1 Mon Sep 17 00:00:00 2001 From: "Andrew A. de Laix" Date: Wed, 26 Jan 2011 16:31:15 -0800 Subject: fix for STORM-940: don't show manditory update dialog if already logged in. --- indra/newview/llappviewer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index e92042bcd4..ace1de6131 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2474,10 +2474,14 @@ namespace { // The user never saw the progress bar. notification_name = "RequiredUpdateDownloadedVerboseDialog"; } - else + else if(LLStartUp::getStartupState() < STATE_WORLD_INIT) { notification_name = "RequiredUpdateDownloadedDialog"; } + else + { + ; // Do nothing because user is already logged in. + } } else { -- cgit v1.2.3 From 9653c41d3d0532a323122b0cd1b6399721bf8be8 Mon Sep 17 00:00:00 2001 From: "Andrew A. de Laix" Date: Thu, 27 Jan 2011 11:37:00 -0800 Subject: more for storm 940: treat the manditory download after login like an optional one. --- indra/newview/llappviewer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index ace1de6131..9cc0ab377c 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2468,19 +2468,23 @@ namespace { if(data["required"].asBoolean()) { - apply_callback = &apply_update_ok_callback; if(LLStartUp::getStartupState() <= STATE_LOGIN_WAIT) { // The user never saw the progress bar. + apply_callback = &apply_update_ok_callback; notification_name = "RequiredUpdateDownloadedVerboseDialog"; } else if(LLStartUp::getStartupState() < STATE_WORLD_INIT) { + // The user is logging in but blocked. + apply_callback = &apply_update_ok_callback; notification_name = "RequiredUpdateDownloadedDialog"; } else { - ; // Do nothing because user is already logged in. + // The user is already logged in; treat like an optional update. + apply_callback = &apply_update_callback; + notification_name = "DownloadBackgroundDialog"; } } else -- cgit v1.2.3 From f18bfd446b5b9a9cf91bf8b615c651074ebe8596 Mon Sep 17 00:00:00 2001 From: "Andrew A. de Laix" Date: Thu, 27 Jan 2011 11:37:59 -0800 Subject: STORM-940: use the tip, not the dialog. --- indra/newview/llappviewer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 9cc0ab377c..9361ae20cf 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2484,7 +2484,7 @@ namespace { { // The user is already logged in; treat like an optional update. apply_callback = &apply_update_callback; - notification_name = "DownloadBackgroundDialog"; + notification_name = "DownloadBackgroundTip"; } } else -- cgit v1.2.3 From d2b13de633b4719bf61e2905699dd1bb67ae0c36 Mon Sep 17 00:00:00 2001 From: callum Date: Fri, 28 Jan 2011 15:57:42 -0800 Subject: STORM-934 POSSIBLE FIX [crashhunters] crash at [2] LLPanelAvatarProfile::got_full_name_callback(LLUUID const &,std::basic_string,std::allocator > const &,bool) [secondlife-bin llpanelavatar.cpp] --- indra/newview/llpanelavatar.cpp | 20 +++++++++++++------- indra/newview/llpanelavatar.h | 1 - indra/newview/skins/default/xui/en/panel_profile.xml | 8 ++++++++ 3 files changed, 21 insertions(+), 8 deletions(-) (limited to 'indra') diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index 94b2340c93..8a917a082c 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -625,8 +625,13 @@ void LLPanelAvatarProfile::processGroupProperties(const LLAvatarGroups* avatar_g getChild("sl_groups")->setValue(groups); } -void LLPanelAvatarProfile::got_full_name_callback( const LLUUID& id, const std::string& full_name, bool is_group ) -{ +static void got_full_name_callback( LLHandle profile_panel_handle, const std::string& full_name ) +{ + if (profile_panel_handle.isDead() ) return; + + LLPanelAvatarProfile* profile_panel = dynamic_cast(profile_panel_handle.get()); + if ( ! profile_panel ) return; + LLStringUtil::format_map_t args; std::string name; @@ -641,9 +646,9 @@ void LLPanelAvatarProfile::got_full_name_callback( const LLUUID& id, const std:: args["[NAME]"] = name; - std::string linden_name = getString("name_text_args", args); - getChild("name_descr_text")->setValue(linden_name); -} + std::string linden_name = profile_panel->getString("name_text_args", args); + profile_panel->getChild("name_descr_text")->setValue(linden_name); +} void LLPanelAvatarProfile::onNameCache(const LLUUID& agent_id, const LLAvatarName& av_name) { @@ -667,16 +672,17 @@ void LLPanelAvatarProfile::fillCommonData(const LLAvatarData* avatar_data) } // ask (asynchronously) for the avatar name + LLHandle profile_panel_handle = getHandle(); std::string full_name; if (gCacheName->getFullName(avatar_data->agent_id, full_name)) { // name in cache, call callback directly - got_full_name_callback( avatar_data->agent_id, full_name, false ); + got_full_name_callback( profile_panel_handle, full_name ); } else { // not in cache, lookup name - gCacheName->get(avatar_data->agent_id, false, boost::bind( &LLPanelAvatarProfile::got_full_name_callback, this, _1, _2, _3 )); + gCacheName->get(avatar_data->agent_id, false, boost::bind( got_full_name_callback, profile_panel_handle, _2 )); } // get display name diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h index 070fe4579a..b8cb62db43 100644 --- a/indra/newview/llpanelavatar.h +++ b/indra/newview/llpanelavatar.h @@ -209,7 +209,6 @@ protected: void onShareButtonClick(); private: - void got_full_name_callback( const LLUUID& id, const std::string& full_name, bool is_group ); void onNameCache(const LLUUID& agent_id, const LLAvatarName& av_name); typedef std::map< std::string,LLUUID> group_map_t; diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml index 61e3bb354f..d36220385d 100644 --- a/indra/newview/skins/default/xui/en/panel_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_profile.xml @@ -34,6 +34,14 @@ name="RegisterDateFormat"> [REG_DATE] ([AGE]) + + [NAME] + + + [DISPLAY_NAME] +