diff options
author | Melanie Thielker | 2009-06-19 20:46:17 +0000 |
---|---|---|
committer | Melanie Thielker | 2009-06-19 20:46:17 +0000 |
commit | e4d26d7bfa4b4d4e775531a7dd400f41fc61f45f (patch) | |
tree | a15fb5f00eb11a26a49b287c76209fb3e80833d4 /OpenSim/Region/Framework/Scenes | |
parent | Thanks cmickeyb for a patch that checks for null assets in Cenome asset cache... (diff) | |
download | opensim-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/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 2 |
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 | { |