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

@ -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.",
@ -453,6 +448,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
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);
// the avatar.Close below will clear the child region list. We need this below for (possibly) // the avatar.Close below will clear the child region list. We need this below for (possibly)