diff options
author | Justin Clark-Casey (justincc) | 2014-04-03 00:19:53 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-04-03 00:19:53 +0100 |
commit | e6d0dcd4e80275b96322eb10b31a2b339e4a2d17 (patch) | |
tree | 2563e97bad5770551262be0dacdc0dca771777b1 /OpenSim/Region/Framework/Scenes/ScenePresence.cs | |
parent | String matching in REST handlers: must allow '-' as a separator, because the ... (diff) | |
download | opensim-SC_OLD-e6d0dcd4e80275b96322eb10b31a2b339e4a2d17.zip opensim-SC_OLD-e6d0dcd4e80275b96322eb10b31a2b339e4a2d17.tar.gz opensim-SC_OLD-e6d0dcd4e80275b96322eb10b31a2b339e4a2d17.tar.bz2 opensim-SC_OLD-e6d0dcd4e80275b96322eb10b31a2b339e4a2d17.tar.xz |
Fix bug where crossing to a neighbouring region and back again would trigger an exception, and a second recross would stop the user moving until relog
Also fixes an issue where sitting avatar counts became inaccurate after any cross.
Part of the problem was due to cloning code using MemberwiseClone() but not resetting certain collection structures.
Adds regression test for this case.
In relation to http://opensimulator.org/mantis/view.php?id=7050
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 080cdb4..6386a45 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1023,6 +1023,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1023 | else | 1023 | else |
1024 | { | 1024 | { |
1025 | part.ParentGroup.AddAvatar(UUID); | 1025 | part.ParentGroup.AddAvatar(UUID); |
1026 | part.AddSittingAvatar(UUID); | ||
1026 | if (part.SitTargetPosition != Vector3.Zero) | 1027 | if (part.SitTargetPosition != Vector3.Zero) |
1027 | part.SitTargetAvatar = UUID; | 1028 | part.SitTargetAvatar = UUID; |
1028 | // ParentPosition = part.GetWorldPosition(); | 1029 | // ParentPosition = part.GetWorldPosition(); |
@@ -2848,7 +2849,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2848 | part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); | 2849 | part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK); |
2849 | } | 2850 | } |
2850 | 2851 | ||
2851 | |||
2852 | public void HandleAgentSit(IClientAPI remoteClient, UUID agentID) | 2852 | public void HandleAgentSit(IClientAPI remoteClient, UUID agentID) |
2853 | { | 2853 | { |
2854 | if (IsChildAgent) | 2854 | if (IsChildAgent) |