diff options
| author | angela <angela@lindenlab.com> | 2009-11-05 11:41:07 +0800 | 
|---|---|---|
| committer | angela <angela@lindenlab.com> | 2009-11-05 11:41:07 +0800 | 
| commit | 95738da3d82b92e82744dbc6b377a3feae2e6441 (patch) | |
| tree | cf1678c617ea644a14d20a40fbfc58f156fd9591 /indra/newview/llwearable.cpp | |
| parent | 35c7c7a9b29ef4462ea969b393c25b59813ef169 (diff) | |
| parent | af401ac6dc463db477210b0ff100014fbeb50a9a (diff) | |
merge
Diffstat (limited to 'indra/newview/llwearable.cpp')
| -rw-r--r-- | indra/newview/llwearable.cpp | 21 | 
1 files changed, 7 insertions, 14 deletions
diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index f2cf84c228..2b4861ce4f 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -60,7 +60,7 @@ static std::string asset_id_to_filename(const LLUUID &asset_id);  LLWearable::LLWearable(const LLTransactionID& transaction_id) :  	mDefinitionVersion(LLWearable::sCurrentDefinitionVersion), -	mType(WT_SHAPE) +	mType(WT_INVALID)  {  	mTransactionID = transaction_id;  	mAssetID = mTransactionID.makeAssetID(gAgent.getSecureSessionID()); @@ -68,7 +68,7 @@ LLWearable::LLWearable(const LLTransactionID& transaction_id) :  LLWearable::LLWearable(const LLAssetID& asset_id) :  	mDefinitionVersion( LLWearable::sCurrentDefinitionVersion ), -	mType(WT_SHAPE) +	mType(WT_INVALID)  {  	mAssetID = asset_id;  	mTransactionID.setNull(); @@ -181,13 +181,7 @@ void LLWearable::createVisualParams()  	{  		if (param->getWearableType() == mType)  		{ -			if (mVisualParamIndexMap[param->getID()]) -			{ -				delete mVisualParamIndexMap[param->getID()]; -			} -			LLViewerVisualParam *new_param = param->cloneParam(this); -			new_param->setIsDummy(FALSE); -			mVisualParamIndexMap[param->getID()] = new_param; +			addVisualParam(param->cloneParam(this));  		}  	} @@ -750,7 +744,8 @@ void LLWearable::copyDataFrom(const LLWearable* src)  	mDescription = src->mDescription;  	mPermissions = src->mPermissions;  	mSaleInfo = src->mSaleInfo; -	mType = src->mType; + +	setType(src->mType);  	mSavedVisualParamMap.clear();  	// Deep copy of mVisualParamMap (copies only those params that are current, filling in defaults where needed) @@ -763,9 +758,6 @@ void LLWearable::copyDataFrom(const LLWearable* src)  			S32 id = param->getID();  			F32 weight = src->getVisualParamWeight(id);  			mSavedVisualParamMap[id] = weight; -			 -			// Clones a visual param from src and adds it to this wearable. Value of param is taken from current value of source param, not saved. -			addVisualParam(param->cloneParam(this));  		}  	} @@ -860,6 +852,7 @@ void LLWearable::addVisualParam(LLVisualParam *param)  	{  		delete mVisualParamIndexMap[param->getID()];  	} +	param->setIsDummy(FALSE);  	mVisualParamIndexMap[param->getID()] = param;  } @@ -1123,7 +1116,7 @@ void LLWearable::saveNewAsset() const  		{  			llinfos << "Update Agent Inventory via capability" << llendl;  			LLSD body; -			body["folder_id"] = gInventory.findCategoryUUIDForType(getAssetType()); +			body["folder_id"] = gInventory.findCategoryUUIDForType(LLFolderType::assetToFolderType(getAssetType()));  			body["asset_type"] = LLAssetType::lookup(getAssetType());  			body["inventory_type"] = LLInventoryType::lookup(LLInventoryType::IT_WEARABLE);  			body["name"] = getName();  | 
