diff options
author | richard <none@none> | 2009-12-07 13:46:30 -0800 |
---|---|---|
committer | richard <none@none> | 2009-12-07 13:46:30 -0800 |
commit | a162a8de977de373b451b93b0ce3617cdbe59a39 (patch) | |
tree | 3ca00252d0a9518b2e655399f91765065e933261 /indra/newview/llappearancemgr.cpp | |
parent | 1d2a8e0f83ab85d0a907b66b55af12ea41891f65 (diff) | |
parent | 13c998c34ac2c1f134b4c6998413753f94e1a002 (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 |