diff options
| author | Richard Linden <none@none> | 2011-04-28 14:56:46 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2011-04-28 14:56:46 -0700 | 
| commit | 31a2923b3d96ed4a04d0b27018fc71d0d66b6a5b (patch) | |
| tree | f287310a81f1183f4856fdbf17a9acd041e69d70 | |
| parent | 8c4555d54fc7c8686ffd139425f4c346576cac50 (diff) | |
EXP-749 FIX [REGRESSION] Voice status indicator shown in IM session instead of profile pic in Basic and Advanced modes
reviewed by Leyla
| -rw-r--r-- | indra/llui/tests/llurlentry_stub.cpp | 2 | ||||
| -rw-r--r-- | indra/llui/tests/llurlmatch_test.cpp | 2 | ||||
| -rw-r--r-- | indra/llxuixml/llinitparam.cpp | 4 | ||||
| -rw-r--r-- | indra/llxuixml/llinitparam.h | 63 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/widgets/avatar_icon.xml | 1 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/widgets/scroll_bar.xml | 18 | 
6 files changed, 63 insertions, 27 deletions
| diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp index 75946b2416..26b3b17577 100644 --- a/indra/llui/tests/llurlentry_stub.cpp +++ b/indra/llui/tests/llurlentry_stub.cpp @@ -127,7 +127,7 @@ namespace LLInitParam  	bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation){ return true; }  	void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {}  	bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_value, S32 max_value) const { return true; } -	bool BaseBlock::merge(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } +	bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; }  	bool BaseBlock::validateBlock(bool emit_errors) const { return true; }  	ParamValue<LLUIColor, TypeValues<LLUIColor> >::ParamValue(const LLUIColor& color) diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp index aea605c9f2..e09ef33d49 100644 --- a/indra/llui/tests/llurlmatch_test.cpp +++ b/indra/llui/tests/llurlmatch_test.cpp @@ -101,7 +101,7 @@ namespace LLInitParam  	bool BaseBlock::deserializeBlock(Parser& p, Parser::name_stack_range_t name_stack, S32 generation){ return true; }  	void BaseBlock::serializeBlock(Parser& parser, Parser::name_stack_t name_stack, const LLInitParam::BaseBlock* diff_block) const {}  	bool BaseBlock::inspectBlock(Parser& parser, Parser::name_stack_t name_stack, S32 min_count, S32 max_count) const { return true; } -	bool BaseBlock::merge(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; } +	bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { return true; }  	bool BaseBlock::validateBlock(bool emit_errors) const { return true; }  	ParamValue<LLUIColor, TypeValues<LLUIColor> >::ParamValue(const LLUIColor& color) diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp index 3c4eb70a5d..b3312798dd 100644 --- a/indra/llxuixml/llinitparam.cpp +++ b/indra/llxuixml/llinitparam.cpp @@ -375,7 +375,7 @@ namespace LLInitParam  	//static   	void BaseBlock::addParam(BlockDescriptor& block_data, const ParamDescriptorPtr in_param, const char* char_name)  	{ -		// create a copy of the paramdescriptor in allparams +		// create a copy of the param descriptor in mAllParams  		// so other data structures can store a pointer to it  		block_data.mAllParams.push_back(in_param);  		ParamDescriptorPtr param(block_data.mAllParams.back()); @@ -469,7 +469,7 @@ namespace LLInitParam  	// take all provided params from other and apply to self  	// NOTE: this requires that "other" is of the same derived type as this -	bool BaseBlock::merge(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) +	bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite)  	{  		bool some_param_changed = false;  		BlockDescriptor::all_params_list_t::const_iterator end_it = block_data.mAllParams.end(); diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index 858f8405b4..35c3106198 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -476,8 +476,12 @@ namespace LLInitParam  		void init(BlockDescriptor& descriptor, BlockDescriptor& base_descriptor, size_t block_size); +		bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) +		{ +			mergeBlock(block_data, other, overwrite); +		}  		// take all provided params from other and apply to self -		bool merge(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite); +		bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite);  		// can be updated in getters  		mutable S32				mChangeVersion; @@ -896,12 +900,14 @@ namespace LLInitParam  			const self_t& src_typed_param = static_cast<const self_t&>(src);  			self_t& dst_typed_param = static_cast<self_t&>(dst); -			if (src_typed_param.isProvided() -				&& (overwrite || !dst_typed_param.isProvided())) +			if (src_typed_param.anyProvided())  			{ -				if (dst_typed_param.merge(param_value_t::selfBlockDescriptor(), src_typed_param, overwrite)) +				bool param_provided = src_typed_param.isProvided() && (overwrite || !dst_typed_param.isProvided()); +				if (dst_typed_param.mergeBlockParam(param_provided, param_value_t::selfBlockDescriptor(), src_typed_param, overwrite))  				{  					dst_typed_param.clearValueName(); +					dst_typed_param.setProvided(true); +					dst_typed_param.enclosingBlock().paramChanged(dst_typed_param, true);  					return true;  				}  			} @@ -1082,6 +1088,12 @@ namespace LLInitParam  				std::copy(dst_typed_param.begin(), dst_typed_param.end(), std::back_inserter(new_values));  				std::swap(dst_typed_param.mValues, new_values);  			} + +			if (src_typed_param.begin() != src_typed_param.end()) +			{ +				dst_typed_param.setProvided(true); +				dst_typed_param.enclosingBlock().paramChanged(dst_typed_param, true); +			}  			return true;  		} @@ -1282,6 +1294,13 @@ namespace LLInitParam  				std::copy(dst_typed_param.begin(), dst_typed_param.end(), std::back_inserter(new_values));  				std::swap(dst_typed_param.mValues, new_values);  			} + +			if (src_typed_param.begin() != src_typed_param.end()) +			{ +				dst_typed_param.setProvided(true); +				dst_typed_param.enclosingBlock().paramChanged(dst_typed_param, true); +			} +  			return true;  		} @@ -1301,24 +1320,28 @@ namespace LLInitParam  		// take all provided params from other and apply to self  		bool overwriteFrom(const self_t& other)  		{ -			return merge(selfBlockDescriptor(), other, true); +			return mergeBlock(selfBlockDescriptor(), other, true);  		}  		// take all provided params that are not already provided, and apply to self  		bool fillFrom(const self_t& other)  		{ -			return merge(selfBlockDescriptor(), other, false); +			return mergeBlock(selfBlockDescriptor(), other, false);  		} -		// merge with other block -		bool merge(BlockDescriptor& block_data, const self_t& other, bool overwrite) +		bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const self_t& other, bool overwrite)  		{ -			// only merge a choice if we are overwriting with other's contents -			if (overwrite) +			if (param_provided)  			{ -				mCurChoice = other.mCurChoice; -				return BaseBlock::merge(selfBlockDescriptor(), other, overwrite); +				mergeBlock(block_data, other, overwrite);  			} +		} + +		// merge with other block +		bool mergeBlock(BlockDescriptor& block_data, const self_t& other, bool overwrite) +		{ +			mCurChoice = other.mCurChoice; +			return BaseBlock::mergeBlock(selfBlockDescriptor(), other, overwrite);  			return false;  		} @@ -1445,13 +1468,13 @@ namespace LLInitParam  		// take all provided params from other and apply to self  		bool overwriteFrom(const self_t& other)  		{ -			return static_cast<DERIVED_BLOCK*>(this)->merge(selfBlockDescriptor(), other, true); +			return static_cast<DERIVED_BLOCK*>(this)->mergeBlock(selfBlockDescriptor(), other, true);  		}  		// take all provided params that are not already provided, and apply to self  		bool fillFrom(const self_t& other)  		{ -			return static_cast<DERIVED_BLOCK*>(this)->merge(selfBlockDescriptor(), other, false); +			return static_cast<DERIVED_BLOCK*>(this)->mergeBlock(selfBlockDescriptor(), other, false);  		}  		virtual const BlockDescriptor& mostDerivedBlockDescriptor() const { return selfBlockDescriptor(); } @@ -1862,7 +1885,15 @@ namespace LLInitParam  			mValue = value;  		} -		bool merge(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) +		bool mergeBlockParam(bool param_provided, BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) +		{ +			if (param_provided) +			{ +				mergeBlock(block_data, other, overwrite); +			} +		} + +		bool mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite)  		{  			const derived_t& src_typed_param = static_cast<const derived_t&>(other); @@ -1875,7 +1906,7 @@ namespace LLInitParam  			else  			{  				// merge individual parameters into destination -				return block_t::merge(block_t::selfBlockDescriptor(), src_typed_param, overwrite); +				return block_t::mergeBlock(block_t::selfBlockDescriptor(), src_typed_param, overwrite);  			}  		} diff --git a/indra/newview/skins/default/xui/en/widgets/avatar_icon.xml b/indra/newview/skins/default/xui/en/widgets/avatar_icon.xml index a1e32e44de..4d69dda7eb 100644 --- a/indra/newview/skins/default/xui/en/widgets/avatar_icon.xml +++ b/indra/newview/skins/default/xui/en/widgets/avatar_icon.xml @@ -1,6 +1,7 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <avatar_icon +    name="avatar_icon"      default_icon_name="Generic_Person_Large"      use_draw_context_alpha="false">  </avatar_icon> diff --git a/indra/newview/skins/default/xui/en/widgets/scroll_bar.xml b/indra/newview/skins/default/xui/en/widgets/scroll_bar.xml index 830ea12e41..e6d4bff8b5 100644 --- a/indra/newview/skins/default/xui/en/widgets/scroll_bar.xml +++ b/indra/newview/skins/default/xui/en/widgets/scroll_bar.xml @@ -6,20 +6,24 @@  			track_color="ScrollbarTrackColor"              thumb_color="ScrollbarThumbColor"              thickness="15"> -  <up_button image_unselected="ScrollArrow_Up" +  <up_button name="up_button" +             image_unselected="ScrollArrow_Up"               image_selected="ScrollArrow_Up"               scale_image="true"               hover_glow_amount="0.35"/> -  <down_button image_unselected="ScrollArrow_Down" +  <down_button name="down_button" +               image_unselected="ScrollArrow_Down"                 image_selected="ScrollArrow_Down"                 scale_image="true"                 hover_glow_amount="0.35"/> -  <left_button image_unselected="ScrollArrow_Left" +  <left_button name="left_button"  +               image_unselected="ScrollArrow_Left"                 image_selected="ScrollArrow_Left"                 scale_image="true"                 hover_glow_amount="0.35"/> -  <right_button image_unselected="ScrollArrow_Right" -               image_selected="ScrollArrow_Right" -               scale_image="true" -               hover_glow_amount="0.35"/> +  <right_button name="right_button" +                image_unselected="ScrollArrow_Right" +                image_selected="ScrollArrow_Right" +                scale_image="true" +                hover_glow_amount="0.35"/>  </scroll_bar> | 
