aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs11
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs2
2 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index ef37f63..1e3e0c9 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -410,6 +410,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
410 teleportFlags, capsPath); 410 teleportFlags, capsPath);
411 } 411 }
412 412
413 // Let's set this to true tentatively. This does not trigger OnChildAgent
414 sp.IsChildAgent = true;
415
413 // TeleportFinish makes the client send CompleteMovementIntoRegion (at the destination), which 416 // TeleportFinish makes the client send CompleteMovementIntoRegion (at the destination), which
414 // trigers a whole shebang of things there, including MakeRoot. So let's wait for confirmation 417 // trigers a whole shebang of things there, including MakeRoot. So let's wait for confirmation
415 // that the client contacted the destination before we send the attachments and close things here. 418 // that the client contacted the destination before we send the attachments and close things here.
@@ -418,6 +421,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
418 // Client never contacted destination. Let's restore everything back 421 // Client never contacted destination. Let's restore everything back
419 sp.ControllingClient.SendTeleportFailed("Problems connecting to destination."); 422 sp.ControllingClient.SendTeleportFailed("Problems connecting to destination.");
420 423
424 // Fail. Reset it back
425 sp.IsChildAgent = false;
426
421 ResetFromTransit(sp.UUID); 427 ResetFromTransit(sp.UUID);
422 428
423 // Yikes! We should just have a ref to scene here. 429 // Yikes! We should just have a ref to scene here.
@@ -436,7 +442,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
436 442
437 KillEntity(sp.Scene, sp.LocalId); 443 KillEntity(sp.Scene, sp.LocalId);
438 444
445 // Now let's make it officially a child agent
439 sp.MakeChildAgent(); 446 sp.MakeChildAgent();
447
440 // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone 448 // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone
441 449
442 if (NeedsClosing(oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) 450 if (NeedsClosing(oldRegionX, newRegionX, oldRegionY, newRegionY, reg))
@@ -538,6 +546,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
538 client.SendTeleportFailed("Your home region could not be found."); 546 client.SendTeleportFailed("Your home region could not be found.");
539 return; 547 return;
540 } 548 }
549 m_log.DebugFormat("[ENTITY TRANSFER MODULE]: User's home region is {0} {1} ({2}-{3})",
550 regionInfo.RegionName, regionInfo.RegionID, regionInfo.RegionLocX / Constants.RegionSize, regionInfo.RegionLocY / Constants.RegionSize);
551
541 // a little eekie that this goes back to Scene and with a forced cast, will fix that at some point... 552 // a little eekie that this goes back to Scene and with a forced cast, will fix that at some point...
542 ((Scene)(client.Scene)).RequestTeleportLocation( 553 ((Scene)(client.Scene)).RequestTeleportLocation(
543 client, regionInfo.RegionHandle, uinfo.HomePosition, uinfo.HomeLookAt, 554 client, regionInfo.RegionHandle, uinfo.HomePosition, uinfo.HomeLookAt,
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 6300665..3948f14 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3990,7 +3990,9 @@ namespace OpenSim.Region.Framework.Scenes
3990 // bordercross if position is outside of region 3990 // bordercross if position is outside of region
3991 3991
3992 if (!result) 3992 if (!result)
3993 {
3993 regionHandle = m_regInfo.RegionHandle; 3994 regionHandle = m_regInfo.RegionHandle;
3995 }
3994 else 3996 else
3995 { 3997 {
3996 // not in this region, undo the shift! 3998 // not in this region, undo the shift!