aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs1
-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
4 files changed, 21 insertions, 8 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs
index f0f3984..ba902b2 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/ObjectCaps/UploadObjectAssetModule.cs
@@ -333,7 +333,6 @@ namespace OpenSim.Region.ClientStack.Linden
333 grp.AbsolutePosition = obj.Position; 333 grp.AbsolutePosition = obj.Position;
334 prim.RotationOffset = obj.Rotation; 334 prim.RotationOffset = obj.Rotation;
335 335
336 grp.IsAttachment = false;
337 // Required for linking 336 // Required for linking
338 grp.RootPart.ClearUpdateSchedule(); 337 grp.RootPart.ClearUpdateSchedule();
339 338
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 904c896..5aeee52 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -244,6 +244,22 @@ namespace OpenSim.Region.Framework.Scenes
244 } 244 }
245 } 245 }
246 246
247 /// <summary>
248 /// If this scene object has an attachment point then indicate whether there is a point where
249 /// attachments are perceivable by avatars other than the avatar to which this object is attached.
250 /// </summary>
251 /// <remarks>
252 /// HUDs are not perceivable by other avatars.
253 /// </remarks>
254 public bool HasPrivateAttachmentPoint
255 {
256 get
257 {
258 return AttachmentPoint >= (uint)OpenMetaverse.AttachmentPoint.HUDCenter2
259 && AttachmentPoint <= (uint)OpenMetaverse.AttachmentPoint.HUDBottomRight;
260 }
261 }
262
247 public void ClearPartAttachmentData() 263 public void ClearPartAttachmentData()
248 { 264 {
249 AttachmentPoint = 0; 265 AttachmentPoint = 0;
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 61ef827..c1fe6a3 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3125,8 +3125,9 @@ namespace OpenSim.Region.Framework.Scenes
3125 if (ParentGroup.IsDeleted) 3125 if (ParentGroup.IsDeleted)
3126 return; 3126 return;
3127 3127
3128 if (ParentGroup.IsAttachment && (ParentGroup.AttachedAvatar != remoteClient.AgentId) && 3128 if (ParentGroup.IsAttachment
3129 (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38)) 3129 && ParentGroup.AttachedAvatar != remoteClient.AgentId
3130 && ParentGroup.HasPrivateAttachmentPoint)
3130 return; 3131 return;
3131 3132
3132 if (remoteClient.AgentId == OwnerID) 3133 if (remoteClient.AgentId == OwnerID)