do CompleteMovement with InTransit set as core

avinationmerge
UbitUmarov 2014-07-23 21:14:35 +01:00
parent 237075ce21
commit f9ae7ea2e6
1 changed files with 106 additions and 97 deletions

View File

@ -1646,6 +1646,11 @@ namespace OpenSim.Region.Framework.Scenes
"[SCENE PRESENCE]: Completing movement of {0} into region {1} in position {2}",
client.Name, Scene.Name, AbsolutePosition);
bool flying = ((m_AgentControlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0);
IsInTransit = true;
try
{
// Make sure it's not a login agent. We don't want to wait for updates during login
if (PresenceType != PresenceType.Npc && (m_teleportFlags & TeleportFlags.ViaLogin) == 0)
{
@ -1674,7 +1679,7 @@ namespace OpenSim.Region.Framework.Scenes
AbsolutePosition = pos;
}
bool flying = ((m_AgentControlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0);
if (!MakeRootAgent(AbsolutePosition, flying))
{
m_log.DebugFormat(
@ -1748,7 +1753,11 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.DebugFormat(
// "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms",
// client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds);
}
finally
{
IsInTransit = false;
}
}
/// <summary>