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.
0.6.1-post-fixes
Sean Dague 2008-12-01 16:55:39 +00:00
parent 21b1218737
commit c8abe037a5
1 changed files with 4 additions and 2 deletions

View File

@ -93,6 +93,7 @@ namespace OpenSim.Region.Environment.Modules.Framework
scene.EventManager.OnNewClient += OnNewClient;
scene.EventManager.OnClientClosed += ClientClosed;
scene.EventManager.OnRemovePresence += ClientClosed;
scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel;
scene.EventManager.OnMakeChildAgent += MakeChildAgent;
scene.EventManager.OnRegisterCaps += OnRegisterCaps;
@ -170,12 +171,13 @@ namespace OpenSim.Region.Environment.Modules.Framework
private void ClientClosed(IClientAPI client)
{
m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", client.AgentId, m_scene.RegionInfo.RegionName);
ClientClosed(client.AgentId);
}
private void ClientClosed(UUID AgentID)
{
m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", AgentID, m_scene.RegionInfo.RegionName);
lock (queues)
{
queues.Remove(AgentID);
@ -319,7 +321,7 @@ namespace OpenSim.Region.Environment.Modules.Framework
if (element == null)
{
m_log.ErrorFormat("[EVENTQUEUE]: Failed to process queue");
// m_log.ErrorFormat("[EVENTQUEUE]: Failed to process queue");
if (thisID == -1) // close-request
{
responsedata["int_response_code"] = 404;