diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index cd70de8..4150f4a 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2776,6 +2776,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
2776 | } | 2776 | } |
2777 | else | 2777 | else |
2778 | { | 2778 | { |
2779 | // We must remove the agent from the physical scene if it has been placed in transit. If we don't, | ||
2780 | // then this method continues to be called from ScenePresence.Update() until the handover of the client between | ||
2781 | // regions is completed. Since this handover can take more than 1000ms (due to the 1000ms | ||
2782 | // event queue polling response from the server), this results in the avatar pausing on the border | ||
2783 | // for the handover period. | ||
2784 | RemoveFromPhysicalScene(); | ||
2785 | |||
2779 | // This constant has been inferred from experimentation | 2786 | // This constant has been inferred from experimentation |
2780 | // I'm not sure what this value should be, so I tried a few values. | 2787 | // I'm not sure what this value should be, so I tried a few values. |
2781 | timeStep = 0.04f; | 2788 | timeStep = 0.04f; |