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
|
|
@ -128,11 +128,15 @@ bool FSAssetBlacklist::removeItem(const LLUUID& id)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Erase for each possible type
|
||||||
|
for (auto& [type, container] : mBlacklistTypeContainer)
|
||||||
|
{
|
||||||
|
container.erase(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Supprime les métadonnées
|
||||||
LLSD data = it->second;
|
LLSD data = it->second;
|
||||||
LLAssetType::EType type = S32toAssetType(data["asset_type"].asInteger());
|
|
||||||
|
|
||||||
mBlacklistTypeContainer[type].erase(id);
|
|
||||||
mBlacklistData.erase(it);
|
mBlacklistData.erase(it);
|
||||||
|
|
||||||
return data["asset_permanent"].asBoolean();
|
return data["asset_permanent"].asBoolean();
|
||||||
|
|
|
||||||
|
|
@ -4715,16 +4715,27 @@ void process_sound_trigger(LLMessageSystem *msg, void **)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (object_id == owner_id)
|
|
||||||
{
|
if (object_id == owner_id) {
|
||||||
if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_ATTACHED_SOUNDS))
|
if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_ATTACHED_SOUNDS))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_REZZED_SOUNDS))
|
else
|
||||||
{
|
{
|
||||||
return;
|
LLViewerObject* object = gObjectList.findObject(object_id);
|
||||||
|
if (object && object->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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// </FS>
|
// </FS>
|
||||||
|
|
||||||
|
|
@ -4836,6 +4847,7 @@ void process_preload_sound(LLMessageSystem *msg, void **user_data)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
LLViewerObject* objectp = gObjectList.findObject(object_id);
|
||||||
if (object_id == owner_id)
|
if (object_id == owner_id)
|
||||||
{
|
{
|
||||||
if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_ATTACHED_SOUNDS))
|
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;
|
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))
|
else if (FSAssetBlacklist::getInstance()->isBlacklisted(owner_id, LLAssetType::AT_AVATAR_REZZED_SOUNDS))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|
@ -4863,7 +4882,6 @@ void process_preload_sound(LLMessageSystem *msg, void **user_data)
|
||||||
return;
|
return;
|
||||||
// </FS:ND>
|
// </FS:ND>
|
||||||
|
|
||||||
LLViewerObject *objectp = gObjectList.findObject(object_id);
|
|
||||||
if (!objectp) return;
|
if (!objectp) return;
|
||||||
|
|
||||||
if (LLMuteList::getInstance()->isMuted(object_id)) return;
|
if (LLMuteList::getInstance()->isMuted(object_id)) return;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue