diff options
author | Oz Linden <oz@lindenlab.com> | 2014-03-06 08:30:47 -0500 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2014-03-06 08:30:47 -0500 |
commit | 9185f1e25602bb9bc4c2bf7923f2743effa281fa (patch) | |
tree | 16fc2790e160b2c60cdde63d2e1ba2168a334e13 /indra/newview/llappearancemgr.cpp | |
parent | 1040c5fdda3e7cc91a1c69f2e085a1c797c51b0c (diff) | |
parent | 55ceeae7524e6794e365ab9b4ac2da22e92e47c8 (diff) |
merge changes for storm-2008
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-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..c5e98915fc 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); + + // deactivate all gestures in the outfit 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; |