diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 66e1468..74175d0 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -107,7 +107,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
107 | /// <summary>Manages authentication for agent circuits</summary> | 107 | /// <summary>Manages authentication for agent circuits</summary> |
108 | private AgentCircuitManager m_circuitManager; | 108 | private AgentCircuitManager m_circuitManager; |
109 | /// <summary>Reference to the scene this UDP server is attached to</summary> | 109 | /// <summary>Reference to the scene this UDP server is attached to</summary> |
110 | private IScene m_scene; | 110 | private Scene m_scene; |
111 | /// <summary>The X/Y coordinates of the scene this UDP server is attached to</summary> | 111 | /// <summary>The X/Y coordinates of the scene this UDP server is attached to</summary> |
112 | private Location m_location; | 112 | private Location m_location; |
113 | /// <summary>The measured resolution of Environment.TickCount</summary> | 113 | /// <summary>The measured resolution of Environment.TickCount</summary> |
@@ -184,15 +184,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
184 | 184 | ||
185 | public void AddScene(IScene scene) | 185 | public void AddScene(IScene scene) |
186 | { | 186 | { |
187 | if (m_scene == null) | 187 | if (m_scene != null) |
188 | { | 188 | { |
189 | m_scene = scene; | 189 | m_log.Error("[LLUDPSERVER]: AddScene() called on an LLUDPServer that already has a scene"); |
190 | m_location = new Location(m_scene.RegionInfo.RegionHandle); | 190 | return; |
191 | } | 191 | } |
192 | else | 192 | |
193 | if (!(scene is Scene)) | ||
193 | { | 194 | { |
194 | m_log.Error("[LLUDPSERVER]: AddScene() called on an LLUDPServer that already has a scene"); | 195 | m_log.Error("[LLUDPSERVER]: AddScene() called with an unrecognized scene type " + scene.GetType()); |
196 | return; | ||
195 | } | 197 | } |
198 | |||
199 | m_scene = (Scene)scene; | ||
200 | m_location = new Location(m_scene.RegionInfo.RegionHandle); | ||
196 | } | 201 | } |
197 | 202 | ||
198 | public bool HandlesRegion(Location x) | 203 | public bool HandlesRegion(Location x) |
@@ -794,7 +799,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
794 | elapsed500MS = 0; | 799 | elapsed500MS = 0; |
795 | } | 800 | } |
796 | 801 | ||
797 | m_scene.ClientManager.ForEach( | 802 | m_scene.ClientManager.ForEachSync( |
798 | delegate(IClientAPI client) | 803 | delegate(IClientAPI client) |
799 | { | 804 | { |
800 | if (client is LLClientView) | 805 | if (client is LLClientView) |