aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authorCharles Krinke2008-09-28 22:01:37 +0000
committerCharles Krinke2008-09-28 22:01:37 +0000
commit04be8726d30fe4399a89c3a739d1967412c0b548 (patch)
treea5d8b37967efa023c1859bb0e344c26be54392b9 /OpenSim/Region/Environment
parentAdded the plumbing for llSetVehicleRotationParam (diff)
downloadopensim-SC-04be8726d30fe4399a89c3a739d1967412c0b548.zip
opensim-SC-04be8726d30fe4399a89c3a739d1967412c0b548.tar.gz
opensim-SC-04be8726d30fe4399a89c3a739d1967412c0b548.tar.bz2
opensim-SC-04be8726d30fe4399a89c3a739d1967412c0b548.tar.xz
Mantis#296. Thank you kindly, Idb for a patch that resolves:
Estate/ Manager Owner Uses the Region/Estate Menu Region TAB, and uses "Teleport Home All Users..." (Action Button), the action will complete but no one will be teleported and all users still function in the region ok.
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs23
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs1
2 files changed, 24 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
index 3dddc2b..616132b 100644
--- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs
@@ -383,6 +383,28 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
383 } 383 }
384 } 384 }
385 385
386 private void handleEstateTeleportAllUsersHomeRequest(IClientAPI remover_client, UUID invoice, UUID senderID)
387 {
388 // Get a fresh list that will not change as people get teleported away
389 List<ScenePresence> prescences = m_scene.GetScenePresences();
390 foreach (ScenePresence p in prescences)
391 {
392 if (p.UUID != senderID)
393 {
394 // make sure they are still there, we could be working down a long list
395 ScenePresence s = m_scene.GetScenePresence(p.UUID);
396 if (s != null)
397 {
398 // Also make sure they are actually in the region
399 if (!s.IsChildAgent)
400 {
401 m_scene.TeleportClientHome(s.UUID, s.ControllingClient);
402 }
403 }
404 }
405 }
406 }
407
386 private void HandleRegionInfoRequest(IClientAPI remote_client) 408 private void HandleRegionInfoRequest(IClientAPI remote_client)
387 { 409 {
388 410
@@ -723,6 +745,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
723 client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage; 745 client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage;
724 client.OnEstateDebugRegionRequest += handleEstateDebugRegionRequest; 746 client.OnEstateDebugRegionRequest += handleEstateDebugRegionRequest;
725 client.OnEstateTeleportOneUserHomeRequest += handleEstateTeleportOneUserHomeRequest; 747 client.OnEstateTeleportOneUserHomeRequest += handleEstateTeleportOneUserHomeRequest;
748 client.OnEstateTeleportAllUsersHomeRequest += handleEstateTeleportAllUsersHomeRequest;
726 749
727 client.OnRegionInfoRequest += HandleRegionInfoRequest; 750 client.OnRegionInfoRequest += HandleRegionInfoRequest;
728 client.OnEstateCovenantRequest += HandleEstateCovenantRequest; 751 client.OnEstateCovenantRequest += HandleEstateCovenantRequest;
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 8c76884..9476571 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -305,6 +305,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
305 public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; 305 public event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest;
306 public event EstateDebugRegionRequest OnEstateDebugRegionRequest; 306 public event EstateDebugRegionRequest OnEstateDebugRegionRequest;
307 public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; 307 public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest;
308 public event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest;
308 public event EstateChangeInfo OnEstateChangeInfo; 309 public event EstateChangeInfo OnEstateChangeInfo;
309 public event ScriptReset OnScriptReset; 310 public event ScriptReset OnScriptReset;
310 public event GetScriptRunning OnGetScriptRunning; 311 public event GetScriptRunning OnGetScriptRunning;