diff options
Diffstat (limited to 'indra/newview')
| -rwxr-xr-x | indra/newview/llappearancemgr.cpp | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index da1609297e..4c98181ef3 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1431,6 +1431,18 @@ void LLAppearanceMgr::takeOffOutfit(const LLUUID& cat_id)  		uuids_to_remove.push_back(item->getUUID());  	}  	removeItemsFromAvatar(uuids_to_remove); +	// now deactivating all gestures in that folder + +	LLInventoryModel::item_array_t gest_items; +        getDescendentsOfAssetType(cat_id, gest_items, LLAssetType::AT_GESTURE, false); +        for(S32 i = 0; i  < gest_items.count(); ++i) +        { +		LLViewerInventoryItem *gest_item = gest_items.get(i); +		if ( LLGestureMgr::instance().isGestureActive( gest_item->getLinkedUUID()) ) +		{ +			LLGestureMgr::instance().deactivateGesture( gest_item->getLinkedUUID() ); +		} +	}  }  // Create a copy of src_id + contents as a subfolder of dst_id. @@ -3414,6 +3426,7 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove)  	{  		llwarns << "called with empty list, nothing to do" << llendl;  	} +  	for (uuid_vec_t::const_iterator it = ids_to_remove.begin(); it != ids_to_remove.end(); ++it)  	{  		const LLUUID& id_to_remove = *it; | 
