don't close eventqueues when you leave a region. This really does seem

to fix the A -> B -> A issue.  Because the code is very reuse friendly,
it shouldn't cause much additional memory bloat in the sims.

I'm sure this isn't the right fix, but it is progress, and confirms that
the close path while leaving a region is part of the issue.
0.6.1-post-fixes
Sean Dague 2008-12-01 21:03:55 +00:00
parent 18ba6c3510
commit 047e54acbc
1 changed files with 10 additions and 2 deletions

View File

@ -92,8 +92,16 @@ namespace OpenSim.Region.Environment.Modules.Framework
//scene.AddLLSDHandler("/CAPS/EQG/", EventQueueFallBack); //scene.AddLLSDHandler("/CAPS/EQG/", EventQueueFallBack);
scene.EventManager.OnNewClient += OnNewClient; scene.EventManager.OnNewClient += OnNewClient;
scene.EventManager.OnClientClosed += ClientClosed;
scene.EventManager.OnRemovePresence += ClientClosed; // TODO: we should really close out something when we
// leave the region, but not doing the close actually
// fixes the A -> B -> A teleport bug where you don't
// get any textures. This means we're leaving more in
// memory than we should, but it does provide a better
// user experience.
// scene.EventManager.OnClientClosed += ClientClosed;
// scene.EventManager.OnRemovePresence += ClientClosed;
scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel;
scene.EventManager.OnMakeChildAgent += MakeChildAgent; scene.EventManager.OnMakeChildAgent += MakeChildAgent;
scene.EventManager.OnRegisterCaps += OnRegisterCaps; scene.EventManager.OnRegisterCaps += OnRegisterCaps;