mirror of
https://github.com/opensim/opensim.git
synced 2026-08-04 08:06:27 +08:00
Fix for attachment crossing on TPs. Now that we're letting the viewer have control over MakeRoot at the destination, we need to pass the attachments after that. Attachment crossing requires a root agent at the destination.
This commit is contained in:
@@ -853,8 +853,6 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
//}
|
||||
|
||||
avatar.MakeChildAgent();
|
||||
// CrossAttachmentsIntoNewRegion is a synchronous call. We shouldn't need to wait after it
|
||||
avatar.CrossAttachmentsIntoNewRegion(reg.RegionHandle, true);
|
||||
|
||||
m_log.DebugFormat(
|
||||
"[CAPS]: Sending new CAPS seed url {0} to client {1}", capsPath, avatar.UUID);
|
||||
@@ -877,15 +875,19 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
KiPrimitive(avatar.LocalId);
|
||||
}
|
||||
|
||||
// TeleportFinish makes the client send CompleteMovementIntoRegion (at the destination), which
|
||||
// trigers a whole shebang of things there, including MakeRoot. So let's wait plenty before
|
||||
// we send the attachments and close things here.
|
||||
Thread.Sleep(3000);
|
||||
|
||||
// CrossAttachmentsIntoNewRegion is a synchronous call. We shouldn't need to wait after it
|
||||
avatar.CrossAttachmentsIntoNewRegion(reg.RegionHandle, true);
|
||||
|
||||
// Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone
|
||||
|
||||
if (Util.IsOutsideView(oldRegionX, newRegionX, oldRegionY, newRegionY))
|
||||
{
|
||||
// FinishTeleport makes the client send CompleteMovementIntoRegion (at the destination), which
|
||||
// trigers a whole shebang of things there. So let's wait plenty before we disconnect.
|
||||
// The user is already there anyway.
|
||||
Thread.Sleep(8000);
|
||||
Thread.Sleep(5000);
|
||||
avatar.Close();
|
||||
CloseConnection(avatar.UUID);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user