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.
This commit is contained in:
Sean Dague
2008-12-01 16:55:39 +00:00
parent 21b1218737
commit c8abe037a5

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;