aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs19
1 files changed, 18 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 30f3e04..ab2abed 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -1637,7 +1637,24 @@ namespace OpenSim.Region.Environment.Scenes
1637 { 1637 {
1638 if (avatars[i] != this) 1638 if (avatars[i] != this)
1639 { 1639 {
1640 CoarseLocations.Add(avatars[i].m_pos); 1640 if (avatars[i].ParentID != 0)
1641 {
1642 // sitting avatar
1643 SceneObjectPart sop = m_scene.GetSceneObjectPart(avatars[i].ParentID);
1644 if (sop != null)
1645 {
1646 CoarseLocations.Add(sop.AbsolutePosition + avatars[i].m_pos);
1647 }
1648 else
1649 {
1650 // we can't find the parent.. ! arg!
1651 CoarseLocations.Add(avatars[i].m_pos);
1652 }
1653 }
1654 else
1655 {
1656 CoarseLocations.Add(avatars[i].m_pos);
1657 }
1641 } 1658 }
1642 } 1659 }
1643 1660