diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index dcec7e9..b3f11a7 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -4525,6 +4525,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4525 | /// <param name='avatarId'></param> | 4525 | /// <param name='avatarId'></param> |
4526 | protected internal bool AddSittingAvatar(UUID avatarId) | 4526 | protected internal bool AddSittingAvatar(UUID avatarId) |
4527 | { | 4527 | { |
4528 | if (IsSitTargetSet && SitTargetAvatar == UUID.Zero) | ||
4529 | SitTargetAvatar = avatarId; | ||
4530 | |||
4528 | HashSet<UUID> sittingAvatars = m_sittingAvatars; | 4531 | HashSet<UUID> sittingAvatars = m_sittingAvatars; |
4529 | 4532 | ||
4530 | if (sittingAvatars == null) | 4533 | if (sittingAvatars == null) |
@@ -4547,6 +4550,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4547 | /// <param name='avatarId'></param> | 4550 | /// <param name='avatarId'></param> |
4548 | protected internal bool RemoveSittingAvatar(UUID avatarId) | 4551 | protected internal bool RemoveSittingAvatar(UUID avatarId) |
4549 | { | 4552 | { |
4553 | if (SitTargetAvatar == avatarId) | ||
4554 | SitTargetAvatar = UUID.Zero; | ||
4555 | |||
4550 | HashSet<UUID> sittingAvatars = m_sittingAvatars; | 4556 | HashSet<UUID> sittingAvatars = m_sittingAvatars; |
4551 | 4557 | ||
4552 | // This can occur under a race condition where another thread | 4558 | // This can occur under a race condition where another thread |