HUD attachments: Removes some more messages sent to wrong clients.

remove-scene-viewer
Snoopy Pfeffer 2011-11-06 17:43:39 +01:00
parent dfbfc9826a
commit 927561383e
1 changed files with 10 additions and 1 deletions

View File

@ -3164,16 +3164,25 @@ namespace OpenSim.Region.Framework.Scenes
public void SendKillObject(uint localID)
{
SceneObjectPart part = GetSceneObjectPart(localID);
UUID attachedAvatar = UUID.Zero;
if (part != null) // It is a prim
{
if (!part.ParentGroup.IsDeleted) // Valid
{
if (part.ParentGroup.RootPart != part) // Child part
return;
if (part.ParentGroup.IsAttachment && part.ParentGroup.AttachmentPoint >= 31 && part.ParentGroup.AttachmentPoint <= 38)
attachedAvatar = part.ParentGroup.AttachedAvatar;
}
}
ForEachClient(delegate(IClientAPI client) { client.SendKillObject(m_regionHandle, localID); });
ForEachClient(delegate(IClientAPI client)
{
if (attachedAvatar == UUID.Zero || attachedAvatar == client.AgentId)
client.SendKillObject(m_regionHandle, localID);
});
}
#endregion