diff options
| -rw-r--r-- | indra/newview/llappviewer.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/llpanelavatar.cpp | 16 | ||||
| -rw-r--r-- | indra/newview/llpanelavatar.h | 1 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_profile.xml | 8 | ||||
| -rw-r--r-- | indra/viewer_components/updater/llupdaterservice.cpp | 6 | 
5 files changed, 31 insertions, 12 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 69333ff4a3..a23f809b71 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2473,16 +2473,24 @@ 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 +			else if(LLStartUp::getStartupState() < STATE_WORLD_INIT)  			{ +				// The user is logging in but blocked. +				apply_callback = &apply_update_ok_callback;  				notification_name = "RequiredUpdateDownloadedDialog";  			} +			else +			{ +				// The user is already logged in; treat like an optional update. +				apply_callback = &apply_update_callback; +				notification_name = "DownloadBackgroundTip"; +			}  		}  		else  		{ diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index 53529b9f8b..73c4722b82 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -625,8 +625,13 @@ void LLPanelAvatarProfile::processGroupProperties(const LLAvatarGroups* avatar_g  	getChild<LLUICtrl>("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<LLPanel> profile_panel_handle, const std::string& full_name )  { +	if (profile_panel_handle.isDead() ) return; + +	LLPanelAvatarProfile* profile_panel = dynamic_cast<LLPanelAvatarProfile*>(profile_panel_handle.get()); +	if ( ! profile_panel ) return; +  	LLStringUtil::format_map_t args;  	std::string name; @@ -641,8 +646,8 @@ void LLPanelAvatarProfile::got_full_name_callback( const LLUUID& id, const std::  	args["[NAME]"] = name; -	std::string linden_name = getString("name_text_args", args); -	getChild<LLUICtrl>("name_descr_text")->setValue(linden_name); +	std::string linden_name = profile_panel->getString("name_text_args", args); +	profile_panel->getChild<LLUICtrl>("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<LLPanel> 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 5f36d1026f..e95441cd58 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])  	</string> +  <string +  name="name_text_args"> +    [NAME] +  </string> +  <string +    name="display_name_text_args"> +    [DISPLAY_NAME] +  </string>      <layout_stack       name="layout"       orientation="vertical" diff --git a/indra/viewer_components/updater/llupdaterservice.cpp b/indra/viewer_components/updater/llupdaterservice.cpp index ea242f45cd..1888f191e2 100644 --- a/indra/viewer_components/updater/llupdaterservice.cpp +++ b/indra/viewer_components/updater/llupdaterservice.cpp @@ -373,9 +373,8 @@ void LLUpdaterServiceImpl::optionalUpdate(std::string const & newVersion,  	stopTimer();  	mNewVersion = newVersion;  	mIsDownloading = true; -	mUpdateDownloader.download(uri, hash, newVersion, false); -	  	setState(LLUpdaterService::DOWNLOADING); +	mUpdateDownloader.download(uri, hash, newVersion, false);  }  void LLUpdaterServiceImpl::requiredUpdate(std::string const & newVersion, @@ -385,9 +384,8 @@ void LLUpdaterServiceImpl::requiredUpdate(std::string const & newVersion,  	stopTimer();  	mNewVersion = newVersion;  	mIsDownloading = true; -	mUpdateDownloader.download(uri, hash, newVersion, true); -	  	setState(LLUpdaterService::DOWNLOADING); +	mUpdateDownloader.download(uri, hash, newVersion, true);  }  void LLUpdaterServiceImpl::upToDate(void)  | 
