Add check to determine if sound-emitting object is an attachment. Previously, checking if object_id == owner_id was only valid for gestures.
Fix removeItem to fully delete asset ID from all blacklist typesmaster
parent
f85c085f5f
commit
a620722087
|
|
@ -129,10 +129,14 @@ bool FSAssetBlacklist::removeItem(const LLUUID& id)
|
|||
return false;
|
||||
}
|
||||
|
||||
LLSD data = it->second;
|
||||
LLAssetType::EType type = S32toAssetType(data["asset_type"].asInteger());
|
||||
// Erase for each possible type
|
||||
for (auto& [type, container] : mBlacklistTypeContainer)
|
||||
{
|
||||
container.erase(id);
|
||||
}
|
||||
|
||||
mBlacklistTypeContainer[type].erase(id);
|
||||
// Supprime les métadonnées
|
||||
LLSD data = it->second;
|
||||
mBlacklistData.erase(it);
|
||||
|
||||
return data["asset_permanent"].asBoolean();
|
||||
|
|
|
|||
|
|
@ -4715,7 +4715,17 @@ void process_sound_trigger(LLMessageSystem *msg, void **)
|
|||
return;
|
||||
}
|
||||
|
||||
if (object_id == owner_id)
|
||||
|
||||
if (object_id == owner_id) {
|
||||
if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_ATTACHED_SOUNDS))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LLViewerObject* object = gObjectList.findObject(object_id);
|
||||
if (object && object->isAttachment())
|
||||
{
|
||||
if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_ATTACHED_SOUNDS))
|
||||
{
|
||||
|
|
@ -4726,6 +4736,7 @@ void process_sound_trigger(LLMessageSystem *msg, void **)
|
|||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
// </FS>
|
||||
|
||||
// NaCl - Antispam Registry
|
||||
|
|
@ -4836,6 +4847,7 @@ void process_preload_sound(LLMessageSystem *msg, void **user_data)
|
|||
{
|
||||
return;
|
||||
}
|
||||
LLViewerObject* objectp = gObjectList.findObject(object_id);
|
||||
if (object_id == owner_id)
|
||||
{
|
||||
if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_ATTACHED_SOUNDS))
|
||||
|
|
@ -4843,6 +4855,13 @@ void process_preload_sound(LLMessageSystem *msg, void **user_data)
|
|||
return;
|
||||
}
|
||||
}
|
||||
else if (objectp && objectp->isAttachment())
|
||||
{
|
||||
if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_ATTACHED_SOUNDS))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_REZZED_SOUNDS))
|
||||
{
|
||||
return;
|
||||
|
|
@ -4863,7 +4882,6 @@ void process_preload_sound(LLMessageSystem *msg, void **user_data)
|
|||
return;
|
||||
// </FS:ND>
|
||||
|
||||
LLViewerObject *objectp = gObjectList.findObject(object_id);
|
||||
if (!objectp) return;
|
||||
|
||||
if (LLMuteList::getInstance()->isMuted(object_id)) return;
|
||||
|
|
|
|||
Loading…
Reference in New Issue