From b18f1a6a56c05a2353230fed67f13d1bb20d0f3f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Wed, 5 Aug 2020 18:30:59 +0100 Subject: [PATCH] cosmetics on newclient, etc --- OpenSim/Framework/AgentCircuitManager.cs | 10 +++++++++- OpenSim/Region/Framework/Scenes/Scene.cs | 10 +++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/OpenSim/Framework/AgentCircuitManager.cs b/OpenSim/Framework/AgentCircuitManager.cs index 447a007ff3..8ab73a7577 100644 --- a/OpenSim/Framework/AgentCircuitManager.cs +++ b/OpenSim/Framework/AgentCircuitManager.cs @@ -117,6 +117,14 @@ namespace OpenSim.Framework } } + public virtual void RemoveCircuit(AgentCircuitData ac) + { + m_agentCircuitsByUUID.TryRemove(ac.AgentID, out AgentCircuitData dummy); + m_agentCircuits.TryRemove(ac.circuitcode, out AgentCircuitData dummyb); + if (dummy.circuitcode != ac.circuitcode) //?? + m_agentCircuits.TryRemove(dummy.circuitcode, out AgentCircuitData dummyc); + } + public AgentCircuitData GetAgentCircuitData(uint circuitCode) { if(m_agentCircuits.TryGetValue(circuitCode, out AgentCircuitData agentCircuit)) @@ -168,7 +176,7 @@ namespace OpenSim.Framework if (m_agentCircuits.TryRemove(circuitcode, out AgentCircuitData agentData)) { agentData.circuitcode = newcircuitcode; - m_agentCircuits.TryAdd(newcircuitcode, agentData); + m_agentCircuits[newcircuitcode] = agentData; m_agentCircuitsByUUID[agentData.AgentID] = agentData; return true; } diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index a910982614..9a119a846f 100755 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4116,7 +4116,7 @@ namespace OpenSim.Region.Framework.Scenes { if (!VerifyUserPresence(acd, out reason)) { - m_authenticateHandler.RemoveCircuit(acd.circuitcode); + m_authenticateHandler.RemoveCircuit(acd); return false; } } @@ -4125,7 +4125,7 @@ namespace OpenSim.Region.Framework.Scenes m_log.ErrorFormat( "[SCENE]: Exception verifying presence {0}{1}", e.Message, e.StackTrace); - m_authenticateHandler.RemoveCircuit(acd.circuitcode); + m_authenticateHandler.RemoveCircuit(acd); return false; } } @@ -4134,7 +4134,7 @@ namespace OpenSim.Region.Framework.Scenes { if (!AuthorizeUser(acd, (vialogin ? false : SeeIntoRegion), out reason)) { - m_authenticateHandler.RemoveCircuit(acd.circuitcode); + m_authenticateHandler.RemoveCircuit(acd); return false; } } @@ -4143,7 +4143,7 @@ namespace OpenSim.Region.Framework.Scenes m_log.ErrorFormat( "[SCENE]: Exception authorizing user {0}{1}", e.Message, e.StackTrace); - m_authenticateHandler.RemoveCircuit(acd.circuitcode); + m_authenticateHandler.RemoveCircuit(acd); return false; } @@ -4225,7 +4225,7 @@ namespace OpenSim.Region.Framework.Scenes if (!CheckLandPositionAccess(acd.AgentID, true, checkTeleHub, acd.startpos, out reason)) { - m_authenticateHandler.RemoveCircuit(acd.circuitcode); + m_authenticateHandler.RemoveCircuit(acd); return false; } }