diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp index 008b9b25f58c2766f853fe588ab81f3f2239a7f8..76039f992b2a0990f9a1ab6c22049c568d9dc5a5 100644 --- a/indra/newview/rlvcommon.cpp +++ b/indra/newview/rlvcommon.cpp @@ -109,17 +109,6 @@ void RlvSettings::initClass() } } -BOOL RlvSettings::getEnableSharedWear() -{ - return FALSE; -/* - // NOTE-RLVa: it's not proper but some code relies on the fact that getEnableSharedWear() returns FALSE if any attach point is locked - return - (rlvGetSettingBOOL(RLV_SETTING_ENABLESHAREDWEAR, FALSE)) && // "Enable Shared Wear" is toggled on and... - (!gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY)); // no attachment point is non-attachable or non-detachable -*/ -} - #ifdef RLV_EXTENSION_STARTLOCATION // Checked: 2010-04-01 (RLVa-1.2.0c) | Modified: RLVa-0.2.1d void RlvSettings::updateLoginLastLocation() diff --git a/indra/newview/rlvcommon.h b/indra/newview/rlvcommon.h index ee1865320a1508b5981a3327f6fe9c696552ebf6..3c1936608eaa8e3fe140f7948f2c9f23f8ce4f6d 100644 --- a/indra/newview/rlvcommon.h +++ b/indra/newview/rlvcommon.h @@ -57,7 +57,7 @@ public: static BOOL getEnableComposites() { return fCompositeFolders; } #endif // RLV_EXPERIMENTAL_COMPOSITEFOLDERS static BOOL getEnableLegacyNaming() { return fLegacyNaming; } - static BOOL getEnableSharedWear(); + static BOOL getEnableSharedWear() { return rlvGetSettingBOOL(RLV_SETTING_ENABLESHAREDWEAR, FALSE); } static BOOL getHideLockedLayers() { return rlvGetSettingBOOL(RLV_SETTING_HIDELOCKEDLAYER, FALSE); } static BOOL getHideLockedAttach() { return rlvGetSettingBOOL(RLV_SETTING_HIDELOCKEDATTACH, FALSE); } static BOOL getHideLockedInventory() { return rlvGetSettingBOOL(RLV_SETTING_HIDELOCKEDINVENTORY, FALSE); } diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp index b9bff5268380ac73eec658a150d40be1fcd99bcc..0facf608f69db66a51a28bbacb7874fa757b8a18 100644 --- a/indra/newview/rlvhelper.cpp +++ b/indra/newview/rlvhelper.cpp @@ -370,7 +370,9 @@ void RlvForceWear::forceFolder(const LLViewerInventoryCategory* pFolder, EWearAc case LLAssetType::AT_OBJECT: if (isWearAction(eAction)) { - if ( (gRlvAttachmentLocks.canAttach(pRlvItem)) || (RlvSettings::getEnableSharedWear()) ) + ERlvWearMask eWearMask = gRlvAttachmentLocks.canAttach(pRlvItem); + if ( ((ACTION_WEAR_REPLACE == eAction) && (eWearMask & RLV_WEAR_REPLACE)) || + ((ACTION_WEAR_ADD == eAction) && (eWearMask & RLV_WEAR_ADD)) ) { if (!isAddAttachment(pRlvItem)) { diff --git a/indra/newview/rlvinventory.cpp b/indra/newview/rlvinventory.cpp index b2a29e4c116f9689a41e0e9258d1be03e6a24ca0..4f4c1667a0c225720502e04dd0a1d538d1e5a737 100644 --- a/indra/newview/rlvinventory.cpp +++ b/indra/newview/rlvinventory.cpp @@ -609,7 +609,7 @@ bool RlvWearableItemCollector::onCollectFolder(const LLInventoryCategory* pFolde bool RlvWearableItemCollector::onCollectItem(const LLInventoryItem* pItem) { #ifdef RLV_EXTENSION_FLAG_NOSTRIP - if ( (!m_fAttach) && (!RlvForceWear::isStrippable(pItem)) ) // Don't process "nostrip" items on detach + if ( (!m_fAttach) && (!RlvForceWear::isStrippable(pItem)) ) // Don't process "nostrip" items on detach return false; #endif // RLV_EXTENSION_FLAG_NOSTRIP diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index c05834e8fb2cb7245a38f84829080293146cf249..6da56ba96926c6cf8525fc76384aa8e0b8999df0 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -1456,7 +1456,17 @@ function="ToggleControl" parameter="RLVaEnableLegacyNaming" /> </menu_item_check> - <menu_item_check + <menu_item_check + label="Enable Shared Wear" + name="Enable Shared Wear"> + <menu_item_check.on_check + function="CheckControl" + parameter="RLVaEnableSharedWear" /> + <menu_item_check.on_click + function="ToggleControl" + parameter="RLVaEnableSharedWear" /> + </menu_item_check> + <menu_item_check label="Rename Shared Items on Wear" name="Rename Shared Items on Wear"> <menu_item_check.on_check