diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 68681c9..91b7d35 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -4732,7 +4732,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4732 | 4732 | ||
4733 | // Update sitting avatar chat position | 4733 | // Update sitting avatar chat position |
4734 | 4734 | ||
4735 | p.AbsolutePosition = GroupPosition; | 4735 | p.AbsolutePosition = GroupPosition + OffsetPosition + m_sitTargetPosition; |
4736 | } | 4736 | } |
4737 | } | 4737 | } |
4738 | } | 4738 | } |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index b6f67f7..7a7816a 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -466,6 +466,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
466 | if ((actor != null) && (m_parentID == 0)) // KF Do NOT update m_pos here if Av is sitting! | 466 | if ((actor != null) && (m_parentID == 0)) // KF Do NOT update m_pos here if Av is sitting! |
467 | m_pos = actor.Position; | 467 | m_pos = actor.Position; |
468 | 468 | ||
469 | // If we're sitting, we need to update our position | ||
470 | if (m_parentID == 0) | ||
471 | { | ||
472 | SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); | ||
473 | m_parentPosition = part.AbsolutePosition; | ||
474 | } | ||
475 | |||
469 | return m_parentPosition + m_pos; | 476 | return m_parentPosition + m_pos; |
470 | } | 477 | } |
471 | set | 478 | set |