summaryrefslogtreecommitdiff
path: root/indra/newview/llappearancemgr.cpp
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2009-12-07 13:39:12 -0800
committerJames Cook <james@lindenlab.com>2009-12-07 13:39:12 -0800
commit13c998c34ac2c1f134b4c6998413753f94e1a002 (patch)
tree9862c8bea90f6c4d6a74e2bfee287cd078232485 /indra/newview/llappearancemgr.cpp
parentf22d9cfdae437ddd21491fc7d6a59668203bd172 (diff)
parentaa2cdcfeef7a2259251abcfc11ab5d1107af2ea3 (diff)
merge
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-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