diff options
author | Nyx Linden <nyx@lindenlab.com> | 2013-04-03 19:04:57 -0400 |
---|---|---|
committer | Nyx Linden <nyx@lindenlab.com> | 2013-04-03 19:04:57 -0400 |
commit | 4bcf1b911a4ea8e8ac8a6322918929732ec1b82d (patch) | |
tree | eb6ef6f208b3f3370e4b91b4117753402c64b4d8 /indra/newview/llagentwearables.cpp | |
parent | 106864bb8a18f8e4ecc143581af5bb18302b5abf (diff) |
SH-4051 REVERT teen accounts unable to remove underclothes even when switching outfits
Reverting fix as additional problems were found that could lead to even accidental nudity.
This fix is not required for the current release as it is not a regression.
Will review options for fixing for the next release.
Diffstat (limited to 'indra/newview/llagentwearables.cpp')
-rwxr-xr-x | indra/newview/llagentwearables.cpp | 50 |
1 files changed, 9 insertions, 41 deletions
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index de9afe2e08..c88694ef76 100755 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1124,19 +1124,14 @@ void LLAgentWearables::addWearableToAgentInventory(LLPointer<LLInventoryCallback cb); } -void LLAgentWearables::removeWearable(const LLWearableType::EType type, bool do_remove_all, U32 index, BOOL will_replace) +void LLAgentWearables::removeWearable(const LLWearableType::EType type, bool do_remove_all, U32 index) { - if (gAgent.isTeen() && + if (gAgent.isTeen() && (type == LLWearableType::WT_UNDERSHIRT || type == LLWearableType::WT_UNDERPANTS)) { // Can't take off underclothing in simple UI mode or on PG accounts - - if (getWearableCount(type) < 2 && !will_replace) - { - // if there is 0 or 1 undergarment worn, and we're not going to be immediately adding another, - // we cannot allow the removal for teen accounts - return; - } + // TODO: enable the removing of a single undershirt/underpants if multiple are worn. - Nyx + return; } if (getWearableCount(type) == 0) { @@ -1244,31 +1239,6 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it { llinfos << "setWearableOutfit() start" << llendl; - S32 count = wearables.count(); - llassert(items.count() == count); - S32 i; - - bool has_undershirt = false; - bool has_underpants = false; - - for (i = 0; i < count; i++) - { - LLViewerWearable* new_wearable = wearables[i]; - if (new_wearable) - { - const LLWearableType::EType type = new_wearable->getType(); - if (type == LLWearableType::WT_UNDERSHIRT) - { - has_undershirt = true; - } - if (type == LLWearableType::WT_UNDERPANTS) - { - has_underpants = true; - } - } - } - - // TODO: Removed check for ensuring that teens don't remove undershirt and underwear. Handle later if (remove) { @@ -1278,17 +1248,15 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it { if (LLWearableType::getAssetType((LLWearableType::EType)type) == LLAssetType::AT_CLOTHING) { - bool will_replace = false; - if ((type == LLWearableType::WT_UNDERSHIRT && has_undershirt) || - (type == LLWearableType::WT_UNDERPANTS && has_underpants)) - { - will_replace = true; - } - removeWearable((LLWearableType::EType)type, true, 0, will_replace); + removeWearable((LLWearableType::EType)type, true, 0); } } } + S32 count = wearables.count(); + llassert(items.count() == count); + + S32 i; for (i = 0; i < count; i++) { LLViewerWearable* new_wearable = wearables[i]; |