aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorMelanie Thielker2009-06-19 20:46:17 +0000
committerMelanie Thielker2009-06-19 20:46:17 +0000
commite4d26d7bfa4b4d4e775531a7dd400f41fc61f45f (patch)
treea15fb5f00eb11a26a49b287c76209fb3e80833d4 /OpenSim/Region/CoreModules
parentThanks cmickeyb for a patch that checks for null assets in Cenome asset cache... (diff)
downloadopensim-SC-e4d26d7bfa4b4d4e775531a7dd400f41fc61f45f.zip
opensim-SC-e4d26d7bfa4b4d4e775531a7dd400f41fc61f45f.tar.gz
opensim-SC-e4d26d7bfa4b4d4e775531a7dd400f41fc61f45f.tar.bz2
opensim-SC-e4d26d7bfa4b4d4e775531a7dd400f41fc61f45f.tar.xz
When a shared module hooks OnClientClosed, it has no way of finding
out which client connection has closed. So, in multi-region sims, things can get messy fast. This introduces a second parameters, which is a Scene object ref. Minor adjustments to custom modules may be required due to this change.
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs2
5 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
index 8afb8fe..b98bfaf 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
@@ -382,7 +382,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
382 client.OnLogout += OnLogout; 382 client.OnLogout += OnLogout;
383 } 383 }
384 384
385 private void ClientClosed(UUID AgentId) 385 private void ClientClosed(UUID AgentId, Scene scene)
386 { 386 {
387 // agent's client was closed. As we handle logout in OnLogout, this here has only to handle 387 // agent's client was closed. As we handle logout in OnLogout, this here has only to handle
388 // TPing away (root agent is closed) or TPing/crossing in a region far enough away (client 388 // TPing away (root agent is closed) or TPing/crossing in a region far enough away (client
diff --git a/OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs b/OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs
index a733585..31363e5 100644
--- a/OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Groups/GroupsModule.cs
@@ -198,7 +198,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
198 remote_client.SendGroupNameReply(groupUUID, groupnamereply); 198 remote_client.SendGroupNameReply(groupUUID, groupnamereply);
199 } 199 }
200 200
201 private void OnClientClosed(UUID agentID) 201 private void OnClientClosed(UUID agentID, Scene scene)
202 { 202 {
203 lock (m_ClientMap) 203 lock (m_ClientMap)
204 { 204 {
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
index 12f5d19..d862c06 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
@@ -368,7 +368,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
368 return false; 368 return false;
369 } 369 }
370 370
371 public void ClientLoggedOut(UUID agentID) 371 public void ClientLoggedOut(UUID agentID, Scene scene)
372 { 372 {
373 if (m_AgentRegions.ContainsKey(agentID)) 373 if (m_AgentRegions.ContainsKey(agentID))
374 m_AgentRegions.Remove(agentID); 374 m_AgentRegions.Remove(agentID);
diff --git a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
index a94f23f..3dcf342 100644
--- a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
@@ -198,7 +198,7 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue
198// ClientClosed(client.AgentId); 198// ClientClosed(client.AgentId);
199// } 199// }
200 200
201 private void ClientClosed(UUID AgentID) 201 private void ClientClosed(UUID AgentID, Scene scene)
202 { 202 {
203 m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", AgentID, m_scene.RegionInfo.RegionName); 203 m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", AgentID, m_scene.RegionInfo.RegionName);
204 204
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
index 6fe0b57..16c02a3 100644
--- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
+++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
@@ -287,7 +287,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
287 /// Event handler 287 /// Event handler
288 /// </summary> 288 /// </summary>
289 /// <param name="AgentId">AgentID that logged out</param> 289 /// <param name="AgentId">AgentID that logged out</param>
290 private void ClientLoggedOut(UUID AgentId) 290 private void ClientLoggedOut(UUID AgentId, Scene scene)
291 { 291 {
292 List<ScenePresence> presences = m_scene.GetAvatars(); 292 List<ScenePresence> presences = m_scene.GetAvatars();
293 int rootcount = 0; 293 int rootcount = 0;