Processing of RLV commands by temporary attachments can be toggled by the user
-> "RLVaEnableTemporaryAttachments" debug setting (enabled by default) --HG-- branch : RLVameow-7.2.2
parent
fda5eb9ccc
commit
5e4235be4e
|
|
@ -167,6 +167,17 @@
|
|||
<key>Value</key>
|
||||
<boolean>1</boolean>
|
||||
</map>
|
||||
<key>RLVaEnableTemporaryAttachments</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Allows temporary attachments (regardless of origin) to issue RLV commands</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<boolean>1</boolean>
|
||||
</map>
|
||||
<key>RLVaExperimentalCommands</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
@ -244,17 +255,6 @@
|
|||
<key>Value</key>
|
||||
<boolean>1</boolean>
|
||||
</map>
|
||||
<key>WarnFirstRLVGiveToRLV</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Enables FirstRLVGiveToRLV warning dialog</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<boolean>1</boolean>
|
||||
</map>
|
||||
<key>ImporterDebug</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -4027,7 +4027,8 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
|
|||
case CHAT_TYPE_OWNER:
|
||||
// [RLVa:KB] - Checked: 2010-02-XX (RLVa-1.2.0a) | Modified: RLVa-1.1.0f
|
||||
// TODO-RLVa: [RLVa-1.2.0] consider rewriting this before a RLVa-1.2.0 release
|
||||
if ( (rlv_handler_t::isEnabled()) && (mesg.length() > 3) && (RLV_CMD_PREFIX == mesg[0]) && (CHAT_TYPE_OWNER == chat.mChatType) )
|
||||
if ( (rlv_handler_t::isEnabled()) && (mesg.length() > 3) && (RLV_CMD_PREFIX == mesg[0]) && (CHAT_TYPE_OWNER == chat.mChatType) &&
|
||||
((!chatter) || (!chatter->isAttachment()) || (!chatter->isTempAttachment()) || (RlvSettings::getEnableTemporaryAttachments())) )
|
||||
{
|
||||
mesg.erase(0, 1);
|
||||
LLStringUtil::toLower(mesg);
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ bool RlvSettings::s_fCompositeFolders = false;
|
|||
bool RlvSettings::s_fCanOOC = true;
|
||||
bool RlvSettings::s_fLegacyNaming = true;
|
||||
bool RlvSettings::s_fNoSetEnv = false;
|
||||
bool RlvSettings::s_fTempAttach = true;
|
||||
std::list<LLUUID> RlvSettings::s_CompatItemCreators;
|
||||
std::list<std::string> RlvSettings::s_CompatItemNames;
|
||||
|
||||
|
|
@ -94,6 +95,10 @@ void RlvSettings::initClass()
|
|||
{
|
||||
initCompatibilityMode(LLStringUtil::null);
|
||||
|
||||
s_fTempAttach = rlvGetSetting<bool>(RLV_SETTING_ENABLETEMPATTACH, true);
|
||||
if (gSavedSettings.controlExists(RLV_SETTING_ENABLETEMPATTACH))
|
||||
gSavedSettings.getControl(RLV_SETTING_ENABLETEMPATTACH)->getSignal()->connect(boost::bind(&onChangedSettingBOOL, _2, &s_fTempAttach));
|
||||
|
||||
#ifdef RLV_EXPERIMENTAL_COMPOSITEFOLDERS
|
||||
s_fCompositeFolders = rlvGetSetting<bool>(RLV_SETTING_ENABLECOMPOSITES, false);
|
||||
if (gSavedSettings.controlExists(RLV_SETTING_ENABLECOMPOSITES))
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ public:
|
|||
static bool getEnableIMQuery() { return rlvGetSetting<bool>("RLVaEnableIMQuery", true); }
|
||||
static bool getEnableLegacyNaming() { return s_fLegacyNaming; }
|
||||
static bool getEnableSharedWear() { return rlvGetSetting<bool>(RLV_SETTING_ENABLESHAREDWEAR, false); }
|
||||
static bool getEnableTemporaryAttachments() { return s_fTempAttach; }
|
||||
static bool getHideLockedLayers() { return rlvGetSetting<bool>(RLV_SETTING_HIDELOCKEDLAYER, false); }
|
||||
static bool getHideLockedAttach() { return rlvGetSetting<bool>(RLV_SETTING_HIDELOCKEDATTACH, false); }
|
||||
static bool getHideLockedInventory() { return rlvGetSetting<bool>(RLV_SETTING_HIDELOCKEDINVENTORY, false); }
|
||||
|
|
@ -122,6 +123,7 @@ protected:
|
|||
static bool s_fCanOOC;
|
||||
static bool s_fLegacyNaming;
|
||||
static bool s_fNoSetEnv;
|
||||
static bool s_fTempAttach;
|
||||
static std::list<LLUUID> s_CompatItemCreators;
|
||||
static std::list<std::string> s_CompatItemNames;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -348,6 +348,7 @@ enum ERlvAttachGroupType
|
|||
#define RLV_SETTING_ENABLECOMPOSITES "RLVaEnableCompositeFolders"
|
||||
#define RLV_SETTING_ENABLELEGACYNAMING "RLVaEnableLegacyNaming"
|
||||
#define RLV_SETTING_ENABLESHAREDWEAR "RLVaEnableSharedWear"
|
||||
#define RLV_SETTING_ENABLETEMPATTACH "RLVaEnableTemporaryAttachments"
|
||||
#define RLV_SETTING_HIDELOCKEDLAYER "RLVaHideLockedLayers"
|
||||
#define RLV_SETTING_HIDELOCKEDATTACH "RLVaHideLockedAttachments"
|
||||
#define RLV_SETTING_HIDELOCKEDINVENTORY "RLVaHideLockedInventory"
|
||||
|
|
|
|||
|
|
@ -475,15 +475,14 @@ inline bool RlvAttachmentLocks::isLockedAttachment(const LLViewerObject* pAttach
|
|||
RLV_ASSERT( (!pAttachObj) || (pAttachObj == pAttachObj->getRootEdit()) );
|
||||
|
||||
// Object is locked if:
|
||||
// - it's not a temporary attachment
|
||||
// - it's specifically marked as non-detachable (ie @detach=n)
|
||||
// - it's attached to an attachment point that is RLV_LOCK_REMOVE locked (ie @remattach:<attachpt>=n)
|
||||
// - it's part of a locked folder
|
||||
return
|
||||
(pAttachObj) && (pAttachObj->isAttachment()) && (!pAttachObj->isTempAttachment()) &&
|
||||
( (m_AttachObjRem.find(pAttachObj->getID()) != m_AttachObjRem.end()) ||
|
||||
(pAttachObj) && (pAttachObj->isAttachment()) &&
|
||||
( (m_AttachObjRem.find(pAttachObj->getID()) != m_AttachObjRem.end()) ||
|
||||
(isLockedAttachmentPoint(RlvAttachPtLookup::getAttachPointIndex(pAttachObj), RLV_LOCK_REMOVE)) ||
|
||||
(RlvFolderLocks::instance().isLockedAttachment(pAttachObj->getAttachmentItemID())) );
|
||||
((!pAttachObj->isTempAttachment()) && (RlvFolderLocks::instance().isLockedAttachment(pAttachObj->getAttachmentItemID()))) );
|
||||
}
|
||||
|
||||
// Checked: 2010-02-28 (RLVa-1.2.0a) | Added: RLVa-1.0.5a
|
||||
|
|
|
|||
|
|
@ -1623,6 +1623,16 @@
|
|||
function="ToggleControl"
|
||||
parameter="RestrainedLoveCanOOC" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
label="Allow Temporary Attachments"
|
||||
name="Allow Temporary Attachments">
|
||||
<menu_item_check.on_check
|
||||
function="CheckControl"
|
||||
parameter="RLVaEnableTemporaryAttachments" />
|
||||
<menu_item_check.on_click
|
||||
function="ToggleControl"
|
||||
parameter="RLVaEnableTemporaryAttachments" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
label="Forbid Give to #RLV"
|
||||
name="Forbid Give to #RLV">
|
||||
|
|
|
|||
Loading…
Reference in New Issue