diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index d9850d6..9bad644 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3472,6 +3472,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
3472 | } | 3472 | } |
3473 | 3473 | ||
3474 | 3474 | ||
3475 | // Let the SP know how we got here. This has a lot of interesting | ||
3476 | // uses down the line. | ||
3477 | sp.TeleportFlags = (TeleportFlags)teleportFlags; | ||
3478 | |||
3475 | // In all cases, add or update the circuit data with the new agent circuit data and teleport flags | 3479 | // In all cases, add or update the circuit data with the new agent circuit data and teleport flags |
3476 | agent.teleportFlags = teleportFlags; | 3480 | agent.teleportFlags = teleportFlags; |
3477 | m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); | 3481 | m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index c4ae0f0..c108129 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -142,6 +142,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
142 | { | 142 | { |
143 | get { return m_userFlags; } | 143 | get { return m_userFlags; } |
144 | } | 144 | } |
145 | private TeleportFlags m_teleportFlags; | ||
146 | public TeleportFlags TeleportFlags | ||
147 | { | ||
148 | get { return m_teleportFlags; } | ||
149 | set { m_teleportFlags = value; } | ||
150 | } | ||
145 | 151 | ||
146 | private uint m_requestedSitTargetID; | 152 | private uint m_requestedSitTargetID; |
147 | private UUID m_requestedSitTargetUUID; | 153 | private UUID m_requestedSitTargetUUID; |
@@ -1083,6 +1089,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1083 | /// </summary> | 1089 | /// </summary> |
1084 | public void MakeChildAgent() | 1090 | public void MakeChildAgent() |
1085 | { | 1091 | { |
1092 | // Reset these so that teleporting in and walking out isn't seen | ||
1093 | // as teleporting back | ||
1094 | m_teleportFlags = TeleportFlags.Default; | ||
1095 | |||
1086 | // It looks like m_animator is set to null somewhere, and MakeChild | 1096 | // It looks like m_animator is set to null somewhere, and MakeChild |
1087 | // is called after that. Probably in aborted teleports. | 1097 | // is called after that. Probably in aborted teleports. |
1088 | if (m_animator == null) | 1098 | if (m_animator == null) |