aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
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/Framework
parentThanks cmickeyb for a patch that checks for null assets in Cenome asset cache... (diff)
downloadopensim-SC_OLD-e4d26d7bfa4b4d4e775531a7dd400f41fc61f45f.zip
opensim-SC_OLD-e4d26d7bfa4b4d4e775531a7dd400f41fc61f45f.tar.gz
opensim-SC_OLD-e4d26d7bfa4b4d4e775531a7dd400f41fc61f45f.tar.bz2
opensim-SC_OLD-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/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/EventManager.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs2
2 files changed, 4 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs
index 08ec1aa..4b3e45f 100644
--- a/OpenSim/Region/Framework/Scenes/EventManager.cs
+++ b/OpenSim/Region/Framework/Scenes/EventManager.cs
@@ -162,7 +162,7 @@ namespace OpenSim.Region.Framework.Scenes
162 162
163 public event IncomingInstantMessage OnUnhandledInstantMessage; 163 public event IncomingInstantMessage OnUnhandledInstantMessage;
164 164
165 public delegate void ClientClosed(UUID clientID); 165 public delegate void ClientClosed(UUID clientID, Scene scene);
166 166
167 public event ClientClosed OnClientClosed; 167 public event ClientClosed OnClientClosed;
168 168
@@ -733,12 +733,12 @@ namespace OpenSim.Region.Framework.Scenes
733 } 733 }
734 } 734 }
735 735
736 public void TriggerClientClosed(UUID ClientID) 736 public void TriggerClientClosed(UUID ClientID, Scene scene)
737 { 737 {
738 handlerClientClosed = OnClientClosed; 738 handlerClientClosed = OnClientClosed;
739 if (handlerClientClosed != null) 739 if (handlerClientClosed != null)
740 { 740 {
741 handlerClientClosed(ClientID); 741 handlerClientClosed(ClientID, scene);
742 } 742 }
743 } 743 }
744 744
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index d3437b9..8f6e920 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2246,7 +2246,7 @@ namespace OpenSim.Region.Framework.Scenes
2246 m_sceneGridService.SendCloseChildAgentConnections(agentID, regions); 2246 m_sceneGridService.SendCloseChildAgentConnections(agentID, regions);
2247 2247
2248 } 2248 }
2249 m_eventManager.TriggerClientClosed(agentID); 2249 m_eventManager.TriggerClientClosed(agentID, this);
2250 } 2250 }
2251 catch (NullReferenceException) 2251 catch (NullReferenceException)
2252 { 2252 {