diff options
author | James Cook <james@lindenlab.com> | 2009-12-07 13:39:12 -0800 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2009-12-07 13:39:12 -0800 |
commit | 13c998c34ac2c1f134b4c6998413753f94e1a002 (patch) | |
tree | 9862c8bea90f6c4d6a74e2bfee287cd078232485 /indra/newview/llappearancemgr.cpp | |
parent | f22d9cfdae437ddd21491fc7d6a59668203bd172 (diff) | |
parent | aa2cdcfeef7a2259251abcfc11ab5d1107af2ea3 (diff) |
merge
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 15 |
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 |