aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/CoreModules/World/Sound/SoundModule.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs16
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs5
3 files changed, 21 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs
index 93b1005..d768a1a 100644
--- a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs
+++ b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs
@@ -78,11 +78,8 @@ namespace OpenSim.Region.CoreModules.World.Sound
78 78
79 if (grp.IsAttachment) 79 if (grp.IsAttachment)
80 { 80 {
81 if (grp.AttachmentPoint > 30) // HUD 81 if (grp.HasPrivateAttachmentPoint && sp.ControllingClient.AgentId != grp.OwnerID)
82 { 82 return;
83 if (sp.ControllingClient.AgentId != grp.OwnerID)
84 return;
85 }
86 83
87 if (sp.ControllingClient.AgentId == grp.OwnerID) 84 if (sp.ControllingClient.AgentId == grp.OwnerID)
88 dis = 0; 85 dis = 0;
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 20d7a01..619296e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -180,6 +180,22 @@ namespace OpenSim.Region.Framework.Scenes
180 } 180 }
181 } 181 }
182 182
183 /// <summary>
184 /// If this scene object has an attachment point then indicate whether there is a point where
185 /// attachments are perceivable by avatars other than the avatar to which this object is attached.
186 /// </summary>
187 /// <remarks>
188 /// HUDs are not perceivable by other avatars.
189 /// </remarks>
190 public bool HasPrivateAttachmentPoint
191 {
192 get
193 {
194 return AttachmentPoint >= (uint)OpenMetaverse.AttachmentPoint.HUDCenter2
195 && AttachmentPoint <= (uint)OpenMetaverse.AttachmentPoint.HUDBottomRight;
196 }
197 }
198
183 public void ClearPartAttachmentData() 199 public void ClearPartAttachmentData()
184 { 200 {
185 AttachmentPoint = 0; 201 AttachmentPoint = 0;
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 17c7661..7640fc0 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2573,8 +2573,9 @@ namespace OpenSim.Region.Framework.Scenes
2573 if (ParentGroup.IsDeleted) 2573 if (ParentGroup.IsDeleted)
2574 return; 2574 return;
2575 2575
2576 if (ParentGroup.IsAttachment && (ParentGroup.AttachedAvatar != remoteClient.AgentId) && 2576 if (ParentGroup.IsAttachment
2577 (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38)) 2577 && ParentGroup.AttachedAvatar != remoteClient.AgentId
2578 && ParentGroup.HasPrivateAttachmentPoint)
2578 return; 2579 return;
2579 2580
2580 if (remoteClient.AgentId == OwnerID) 2581 if (remoteClient.AgentId == OwnerID)