diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 11 |
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) |