aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs11
2 files changed, 15 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 71d0f09..8edf3d3 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3279,6 +3279,10 @@ namespace OpenSim.Region.Framework.Scenes
3279 } 3279 }
3280 3280
3281 3281
3282 // Let the SP know how we got here. This has a lot of interesting
3283 // uses down the line.
3284 sp.TeleportFlags = (TeleportFlags)teleportFlags;
3285
3282 // In all cases, add or update the circuit data with the new agent circuit data and teleport flags 3286 // In all cases, add or update the circuit data with the new agent circuit data and teleport flags
3283 agent.teleportFlags = teleportFlags; 3287 agent.teleportFlags = teleportFlags;
3284 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); 3288 m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent);
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index fa2c7b5..1c276fa 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -130,6 +130,13 @@ namespace OpenSim.Region.Framework.Scenes
130 private bool m_updateflag; 130 private bool m_updateflag;
131 private byte m_movementflag; 131 private byte m_movementflag;
132 private Vector3? m_forceToApply; 132 private Vector3? m_forceToApply;
133 private TeleportFlags m_teleportFlags;
134 public TeleportFlags TeleportFlags
135 {
136 get { return m_teleportFlags; }
137 set { m_teleportFlags = value; }
138 }
139
133 private uint m_requestedSitTargetID; 140 private uint m_requestedSitTargetID;
134 private UUID m_requestedSitTargetUUID; 141 private UUID m_requestedSitTargetUUID;
135 public bool SitGround = false; 142 public bool SitGround = false;
@@ -949,6 +956,10 @@ namespace OpenSim.Region.Framework.Scenes
949 /// </summary> 956 /// </summary>
950 public void MakeChildAgent() 957 public void MakeChildAgent()
951 { 958 {
959 // Reset these so that teleporting in and walking out isn't seen
960 // as teleporting back
961 m_teleportFlags = TeleportFlags.Default;
962
952 // It looks like m_animator is set to null somewhere, and MakeChild 963 // It looks like m_animator is set to null somewhere, and MakeChild
953 // is called after that. Probably in aborted teleports. 964 // is called after that. Probably in aborted teleports.
954 if (m_animator == null) 965 if (m_animator == null)