diff options
| author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2013-02-11 13:51:08 -0500 | 
|---|---|---|
| committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2013-02-11 13:51:08 -0500 | 
| commit | 026ee47e9eee44c5a85acf49983bd4502b367515 (patch) | |
| tree | 95e68d4f59925ec791f29b79ad5f5cf954e87bc7 | |
| parent | f3e407ae3f05e897de0b0d7daea4d31f09e73048 (diff) | |
| parent | 93f07d4e2721d8bf163545ba2600aa5c3cd1c506 (diff) | |
merge
| -rw-r--r-- | autobuild.xml | 4 | ||||
| -rw-r--r-- | indra/llappearance/lltexlayer.cpp | 40 | 
2 files changed, 41 insertions, 3 deletions
| diff --git a/autobuild.xml b/autobuild.xml index 67d1b4a27b..41f9176f30 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1290,9 +1290,9 @@              <key>archive</key>              <map>                <key>hash</key> -              <string>4d0fffe0780f3874cf95ef5a2f3c8489</string> +              <string>606926d8b873328149313ace29f5ab64</string>                <key>url</key> -              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llappearanceutility-source/rev/269731/arch/Linux/installer/llappearanceutility_source-0.1-linux-20130130.tar.bz2</string> +              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llappearanceutility-source/rev/270205/arch/Linux/installer/llappearanceutility_source-0.1-linux-20130209.tar.bz2</string>              </map>              <key>name</key>              <string>linux</string> diff --git a/indra/llappearance/lltexlayer.cpp b/indra/llappearance/lltexlayer.cpp index 15d531259f..3c23f5f293 100644 --- a/indra/llappearance/lltexlayer.cpp +++ b/indra/llappearance/lltexlayer.cpp @@ -932,7 +932,45 @@ LLWearableType::EType LLTexLayerInterface::getWearableType() const  	ETextureIndex te = getLocalTextureIndex();  	if (TEX_INVALID == te)  	{ -		return LLWearableType::WT_INVALID; +		LLWearableType::EType type = LLWearableType::WT_INVALID; +		param_color_list_t::const_iterator color_iter = mParamColorList.begin(); +		param_alpha_list_t::const_iterator alpha_iter = mParamAlphaList.begin(); + +		for (; color_iter != mParamColorList.end(); color_iter++) +		{ +			LLTexLayerParamColor* param = *color_iter; +			if (param)  +			{ +				LLWearableType::EType new_type = (LLWearableType::EType)param->getWearableType(); +				if (new_type != LLWearableType::WT_INVALID && new_type != type)  +				{ +					if (type != LLWearableType::WT_INVALID)  +					{ +						return LLWearableType::WT_INVALID; +					} +					type = new_type; +				} +			} +		} + +		for (; alpha_iter != mParamAlphaList.end(); alpha_iter++) +		{ +			LLTexLayerParamAlpha* param = *alpha_iter; +			if (param)  +			{ +				LLWearableType::EType new_type = (LLWearableType::EType)param->getWearableType(); +				if (new_type != LLWearableType::WT_INVALID && new_type != type)  +				{ +					if (type != LLWearableType::WT_INVALID)  +					{ +						return LLWearableType::WT_INVALID; +					} +					type = new_type; +				} +			} +		} + +		return type;  	}  	return LLAvatarAppearanceDictionary::getTEWearableType(te);  } | 
