diff options
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) |