From 047e54acbc5d7f5da1c4d74059aaf6fd44332ba3 Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Mon, 1 Dec 2008 21:03:55 +0000 Subject: 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. --- .../Environment/Modules/Framework/EventQueueGetModule.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs b/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs index 95e0f2b..122cec7 100644 --- a/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs +++ b/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs @@ -92,8 +92,16 @@ namespace OpenSim.Region.Environment.Modules.Framework //scene.AddLLSDHandler("/CAPS/EQG/", EventQueueFallBack); 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.OnMakeChildAgent += MakeChildAgent; scene.EventManager.OnRegisterCaps += OnRegisterCaps; -- cgit v1.1