summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2009-12-02 17:45:42 -0500
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2009-12-02 17:45:42 -0500
commit4fb7fd9fffde08ffad4b2fe8f5ead5e500d76419 (patch)
tree1dc4897b4809836ca058b8d6afc50063c5722e5c /indra/newview
parentd629be01cb3136fb136b36c54b284446d8ab7599 (diff)
For EXT-3030: Gestures in outfits do not deactivate when another outfit is worn
--HG-- branch : avatar-pipeline
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llappearancemgr.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index c7f05d99f7..d91b9d7ea4 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -512,6 +512,21 @@ void LLAppearanceManager::updateCOF(const LLUUID& category, bool append)
{
const LLUUID cof = getCOF();
+ // Deactivate currently active gestures in the COF, if replacing outfit
+ if (!append)
+ {
+ LLInventoryModel::item_array_t gest_items;
+ getDescendentsOfAssetType(cof, gest_items, LLAssetType::AT_GESTURE, false);
+ for(S32 i = 0; i < gest_items.count(); ++i)
+ {
+ LLViewerInventoryItem *gest_item = gest_items.get(i);
+ if ( LLGestureManager::instance().isGestureActive( gest_item->getLinkedUUID()) )
+ {
+ LLGestureManager::instance().deactivateGesture( gest_item->getLinkedUUID() );
+ }
+ }
+ }
+
// Collect and filter descendents to determine new COF contents.
// - Body parts: always include COF contents as a fallback in case any