diff options
| -rw-r--r-- | indra/llui/llnotifications.cpp | 32 | ||||
| -rw-r--r-- | indra/llui/llnotifications.h | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_stats.xml | 3 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 4 | 
4 files changed, 19 insertions, 22 deletions
| diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index 7b8f51ae3c..621e72ce38 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -560,21 +560,6 @@ void LLNotification::setResponseFunctor(const LLNotificationResponderPtr& respon  	mResponder = responder;  } -bool LLNotification::payloadContainsAll(const std::vector<std::string>& required_fields) const -{ -	for(std::vector<std::string>::const_iterator required_fields_it = required_fields.begin();  -		required_fields_it != required_fields.end(); -		required_fields_it++) -	{ -		std::string required_field_name = *required_fields_it; -		if( ! getPayload().has(required_field_name)) -		{ -			return false; // a required field was not found -		} -	} -	return true; // all required fields were found -} -  bool LLNotification::isEquivalentTo(LLNotificationPtr that) const  {  	if (this->mTemplatep->mName != that->mTemplatep->mName)  @@ -583,11 +568,22 @@ bool LLNotification::isEquivalentTo(LLNotificationPtr that) const  	}  	if (this->mTemplatep->mUnique)  	{ +		const LLSD& these_substitutions = this->getSubstitutions(); +		const LLSD& those_substitutions = that->getSubstitutions(); +  		// highlander bit sez there can only be one of these -		return -			this->payloadContainsAll(that->mTemplatep->mUniqueContext) && -			that->payloadContainsAll(this->mTemplatep->mUniqueContext); +		for (std::vector<std::string>::const_iterator it = mTemplatep->mUniqueContext.begin(), end_it = mTemplatep->mUniqueContext.end(); +			it != end_it; +			++it) +		{ +			if (these_substitutions.get(*it).asString() != those_substitutions.get(*it).asString()) +			{ +				return false; +			} +		} +		return true;  	} +  	return false;   } diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index c942a32512..8bfada0e71 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -400,8 +400,6 @@ private:  	void cancel(); -	bool payloadContainsAll(const std::vector<std::string>& required_fields) const; -  public:  	// constructor from a saved notification diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index f9dacf0207..b87cb9a433 100644 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -361,8 +361,7 @@  			<stat_view  			   name="physicsdetail"  			   label="Physics Details" -			   show_label="true" -			   display_children="false"> +			   show_label="true">  			  <stat_bar  				 name="physicspinnedtasks"  				 label="Pinned Objects" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 88732fee7d..290c8c55a9 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4886,6 +4886,10 @@ If you want to view streaming media on parcels that support it you should go to     persist="true"     type="notify">  No Media Plugin was found to handle the "[MIME_TYPE]" mime type.  Media of this type will be unavailable. +    <unique> +      <context key="[MIME_TYPE]"/> +    </unique> +    </notification>    <notification     icon="alertmodal.tga" | 
