On inter-region teleport, only stand the avatar up if the QueryAccess call to the destination scene actually succeeds.

0.7.3-extended
Justin Clark-Casey (justincc) 2012-05-24 22:46:45 +01:00
parent cd61567de8
commit bcacdb3352
1 changed files with 7 additions and 7 deletions

View File

@ -153,7 +153,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
{ {
if (!m_Enabled) if (!m_Enabled)
return; return;
m_eqModule = m_scene.RequestModuleInterface<IEventQueue>(); m_eqModule = m_scene.RequestModuleInterface<IEventQueue>();
} }
@ -420,11 +420,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
return; return;
} }
// Fixing a bug where teleporting while sitting results in the avatar ending up removed from
// both regions
if (sp.ParentID != (uint)0)
sp.StandUp();
if (!sp.ValidateAttachments()) if (!sp.ValidateAttachments())
m_log.DebugFormat( m_log.DebugFormat(
"[ENTITY TRANSFER MODULE]: Failed validation of all attachments for teleport of {0} from {1} to {2}. Continuing.", "[ENTITY TRANSFER MODULE]: Failed validation of all attachments for teleport of {0} from {1} to {2}. Continuing.",
@ -451,7 +446,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
return; return;
} }
m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Destination is running version {0}", version); m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Destination is running version {0}", version);
// Fixing a bug where teleporting while sitting results in the avatar ending up removed from
// both regions
if (sp.ParentID != (uint)0)
sp.StandUp();
sp.ControllingClient.SendTeleportStart(teleportFlags); sp.ControllingClient.SendTeleportStart(teleportFlags);