aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World
diff options
context:
space:
mode:
authormeta72010-08-30 11:41:20 -0700
committermeta72010-08-30 11:41:20 -0700
commit4cf5ef3cd4c6712f74615385a03217f5d4cecb80 (patch)
tree2818bcd84b994ccd1076ed4fcf109d0db4f24dda /OpenSim/Region/CoreModules/World
parentMerge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff)
downloadopensim-SC-4cf5ef3cd4c6712f74615385a03217f5d4cecb80.zip
opensim-SC-4cf5ef3cd4c6712f74615385a03217f5d4cecb80.tar.gz
opensim-SC-4cf5ef3cd4c6712f74615385a03217f5d4cecb80.tar.bz2
opensim-SC-4cf5ef3cd4c6712f74615385a03217f5d4cecb80.tar.xz
Kick the user from the region in the circumstance that the TP home failed - ONLY if it was triggered by an estate ban. This makes baby jesus cry, and should be fixed to search for alternative regions if the home region is unavailable.
Diffstat (limited to 'OpenSim/Region/CoreModules/World')
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs18
1 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
index 171e0b9..8411d04 100644
--- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
@@ -345,7 +345,11 @@ namespace OpenSim.Region.CoreModules.World.Estate
345 { 345 {
346 if (!s.IsChildAgent) 346 if (!s.IsChildAgent)
347 { 347 {
348 m_scene.TeleportClientHome(user, s.ControllingClient); 348 if (!m_scene.TeleportClientHome(user, s.ControllingClient))
349 {
350 s.ControllingClient.Kick("Your access to the region was revoked and TP home failed - you have been logged out.");
351 s.ControllingClient.Close();
352 }
349 } 353 }
350 } 354 }
351 355
@@ -479,7 +483,11 @@ namespace OpenSim.Region.CoreModules.World.Estate
479 ScenePresence s = m_scene.GetScenePresence(prey); 483 ScenePresence s = m_scene.GetScenePresence(prey);
480 if (s != null) 484 if (s != null)
481 { 485 {
482 m_scene.TeleportClientHome(prey, s.ControllingClient); 486 if (!m_scene.TeleportClientHome(prey, s.ControllingClient))
487 {
488 s.ControllingClient.Kick("You were teleported home by the region owner, but the TP failed - you have been logged out.");
489 s.ControllingClient.Close();
490 }
483 } 491 }
484 } 492 }
485 } 493 }
@@ -498,7 +506,11 @@ namespace OpenSim.Region.CoreModules.World.Estate
498 // Also make sure they are actually in the region 506 // Also make sure they are actually in the region
499 if (p != null && !p.IsChildAgent) 507 if (p != null && !p.IsChildAgent)
500 { 508 {
501 m_scene.TeleportClientHome(p.UUID, p.ControllingClient); 509 if (!m_scene.TeleportClientHome(p.UUID, p.ControllingClient))
510 {
511 p.ControllingClient.Kick("You were teleported home by the region owner, but the TP failed - you have been logged out.");
512 p.ControllingClient.Close();
513 }
502 } 514 }
503 } 515 }
504 }); 516 });