Add a TeleportFlags member to SP so we can tell how we got there.

avinationmerge
Melanie 2011-01-27 04:14:41 +01:00
parent 1f19bd5f90
commit c43b892f3a
2 changed files with 14 additions and 0 deletions

View File

@ -3472,6 +3472,10 @@ namespace OpenSim.Region.Framework.Scenes
} }
// Let the SP know how we got here. This has a lot of interesting
// uses down the line.
sp.TeleportFlags = (TeleportFlags)teleportFlags;
// In all cases, add or update the circuit data with the new agent circuit data and teleport flags // In all cases, add or update the circuit data with the new agent circuit data and teleport flags
agent.teleportFlags = teleportFlags; agent.teleportFlags = teleportFlags;
m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent);

View File

@ -142,6 +142,12 @@ namespace OpenSim.Region.Framework.Scenes
{ {
get { return m_userFlags; } get { return m_userFlags; }
} }
private TeleportFlags m_teleportFlags;
public TeleportFlags TeleportFlags
{
get { return m_teleportFlags; }
set { m_teleportFlags = value; }
}
private uint m_requestedSitTargetID; private uint m_requestedSitTargetID;
private UUID m_requestedSitTargetUUID; private UUID m_requestedSitTargetUUID;
@ -1083,6 +1089,10 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary> /// </summary>
public void MakeChildAgent() public void MakeChildAgent()
{ {
// Reset these so that teleporting in and walking out isn't seen
// as teleporting back
m_teleportFlags = TeleportFlags.Default;
// It looks like m_animator is set to null somewhere, and MakeChild // It looks like m_animator is set to null somewhere, and MakeChild
// is called after that. Probably in aborted teleports. // is called after that. Probably in aborted teleports.
if (m_animator == null) if (m_animator == null)