diff options
author | Sean Dague | 2008-12-01 16:55:39 +0000 |
---|---|---|
committer | Sean Dague | 2008-12-01 16:55:39 +0000 |
commit | c8abe037a50c9aa0d9465dcefd0c5bf4a0c44c61 (patch) | |
tree | 4aafcb51acf687e099a33a05568fe821001bc3ac /OpenSim/Region | |
parent | attempt to modify the event queue for greater debugging (diff) | |
download | opensim-SC_OLD-c8abe037a50c9aa0d9465dcefd0c5bf4a0c44c61.zip opensim-SC_OLD-c8abe037a50c9aa0d9465dcefd0c5bf4a0c44c61.tar.gz opensim-SC_OLD-c8abe037a50c9aa0d9465dcefd0c5bf4a0c44c61.tar.bz2 opensim-SC_OLD-c8abe037a50c9aa0d9465dcefd0c5bf4a0c44c61.tar.xz |
fix the "I get no textures if I teleport back to a region I've been in
before" issue. This involves the EventQueueGet module so I'm not sure
this is the right fix but it appears to work.
When the ScenePresence leaves force a close on it. The reuse of the
queues doesn't seem to be working, so the forced close causes a new one
the next time in. This does appear to work.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs b/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs index 9367811..95e0f2b 100644 --- a/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs +++ b/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs | |||
@@ -93,6 +93,7 @@ namespace OpenSim.Region.Environment.Modules.Framework | |||
93 | 93 | ||
94 | scene.EventManager.OnNewClient += OnNewClient; | 94 | scene.EventManager.OnNewClient += OnNewClient; |
95 | scene.EventManager.OnClientClosed += ClientClosed; | 95 | scene.EventManager.OnClientClosed += ClientClosed; |
96 | scene.EventManager.OnRemovePresence += ClientClosed; | ||
96 | scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; | 97 | scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; |
97 | scene.EventManager.OnMakeChildAgent += MakeChildAgent; | 98 | scene.EventManager.OnMakeChildAgent += MakeChildAgent; |
98 | scene.EventManager.OnRegisterCaps += OnRegisterCaps; | 99 | scene.EventManager.OnRegisterCaps += OnRegisterCaps; |
@@ -170,12 +171,13 @@ namespace OpenSim.Region.Environment.Modules.Framework | |||
170 | 171 | ||
171 | private void ClientClosed(IClientAPI client) | 172 | private void ClientClosed(IClientAPI client) |
172 | { | 173 | { |
173 | m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", client.AgentId, m_scene.RegionInfo.RegionName); | 174 | |
174 | ClientClosed(client.AgentId); | 175 | ClientClosed(client.AgentId); |
175 | } | 176 | } |
176 | 177 | ||
177 | private void ClientClosed(UUID AgentID) | 178 | private void ClientClosed(UUID AgentID) |
178 | { | 179 | { |
180 | m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", AgentID, m_scene.RegionInfo.RegionName); | ||
179 | lock (queues) | 181 | lock (queues) |
180 | { | 182 | { |
181 | queues.Remove(AgentID); | 183 | queues.Remove(AgentID); |
@@ -319,7 +321,7 @@ namespace OpenSim.Region.Environment.Modules.Framework | |||
319 | 321 | ||
320 | if (element == null) | 322 | if (element == null) |
321 | { | 323 | { |
322 | m_log.ErrorFormat("[EVENTQUEUE]: Failed to process queue"); | 324 | // m_log.ErrorFormat("[EVENTQUEUE]: Failed to process queue"); |
323 | if (thisID == -1) // close-request | 325 | if (thisID == -1) // close-request |
324 | { | 326 | { |
325 | responsedata["int_response_code"] = 404; | 327 | responsedata["int_response_code"] = 404; |