diff options
author | Melanie | 2010-12-08 00:08:14 +0100 |
---|---|---|
committer | Melanie | 2010-12-08 00:08:14 +0100 |
commit | 80b84e4bad9c468763d42feaa7e75146dc320f66 (patch) | |
tree | af1dd0114b102244ea82cebec2e5cedb364a1fb8 | |
parent | Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff) | |
download | opensim-SC-80b84e4bad9c468763d42feaa7e75146dc320f66.zip opensim-SC-80b84e4bad9c468763d42feaa7e75146dc320f66.tar.gz opensim-SC-80b84e4bad9c468763d42feaa7e75146dc320f66.tar.bz2 opensim-SC-80b84e4bad9c468763d42feaa7e75146dc320f66.tar.xz |
Prevent sending of attachment data to any client if the attachment
is not actually attached to any avatar. Another stab ad fixing "HUD hair"
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index f9e1e21..246aaf0 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -3615,6 +3615,27 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3615 | if (part.ParentGroup.OwnerID != AgentId && | 3615 | if (part.ParentGroup.OwnerID != AgentId && |
3616 | part.ParentGroup.RootPart.Shape.State >= 30) | 3616 | part.ParentGroup.RootPart.Shape.State >= 30) |
3617 | continue; | 3617 | continue; |
3618 | ScenePresence sp; | ||
3619 | // Owner is not in the sim, don't update it to | ||
3620 | // anyone | ||
3621 | if (!m_scene.TryGetScenePresence(part.OwnerID, out sp)) | ||
3622 | continue; | ||
3623 | |||
3624 | List<SceneObjectGroup> atts = sp.Attachments; | ||
3625 | bool found = false; | ||
3626 | foreach (SceneObjectGroup att in atts) | ||
3627 | { | ||
3628 | if (att == part.ParentGroup) | ||
3629 | { | ||
3630 | found = true; | ||
3631 | break; | ||
3632 | } | ||
3633 | } | ||
3634 | |||
3635 | // It's an attachment of a valid avatar, but | ||
3636 | // doesn't seem to be attached, skip | ||
3637 | if (!found) | ||
3638 | continue; | ||
3618 | } | 3639 | } |
3619 | 3640 | ||
3620 | if (part.ParentGroup.IsAttachment && m_disableFacelights) | 3641 | if (part.ParentGroup.IsAttachment && m_disableFacelights) |