diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Sound/SoundModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Sound/SoundModule.cs | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs index abd28c8..8df44fe 100644 --- a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs +++ b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs | |||
@@ -106,14 +106,20 @@ namespace OpenSim.Region.CoreModules.World.Sound | |||
106 | { | 106 | { |
107 | SceneObjectPart part = m_scene.GetSceneObjectPart(objectID); | 107 | SceneObjectPart part = m_scene.GetSceneObjectPart(objectID); |
108 | if (part == null) | 108 | if (part == null) |
109 | return; | ||
110 | |||
111 | SceneObjectGroup grp = part.ParentGroup; | ||
112 | |||
113 | if (grp.IsAttachment && grp.GetAttachmentPoint() > 30) | ||
114 | { | 109 | { |
115 | objectID = ownerID; | 110 | ScenePresence sp; |
116 | parentID = ownerID; | 111 | if (!m_scene.TryGetScenePresence(objectID, out sp)) |
112 | return; | ||
113 | } | ||
114 | else | ||
115 | { | ||
116 | SceneObjectGroup grp = part.ParentGroup; | ||
117 | |||
118 | if (grp.IsAttachment && grp.GetAttachmentPoint() > 30) | ||
119 | { | ||
120 | objectID = ownerID; | ||
121 | parentID = ownerID; | ||
122 | } | ||
117 | } | 123 | } |
118 | 124 | ||
119 | m_scene.ForEachScenePresence(delegate(ScenePresence sp) | 125 | m_scene.ForEachScenePresence(delegate(ScenePresence sp) |