diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 22c275c..8689af3 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -646,7 +646,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
646 | client.OnConnectionClosed += ConnectionClosedHandler; | 646 | client.OnConnectionClosed += ConnectionClosedHandler; |
647 | 647 | ||
648 | // Start the IClientAPI | 648 | // Start the IClientAPI |
649 | m_scene.ClientManager.Add(client); | ||
650 | client.Start(); | 649 | client.Start(); |
651 | } | 650 | } |
652 | else | 651 | else |
@@ -658,10 +657,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
658 | 657 | ||
659 | private void RemoveClient(LLUDPClient udpClient) | 658 | private void RemoveClient(LLUDPClient udpClient) |
660 | { | 659 | { |
661 | // Remove this client from the scene ClientManager | 660 | // Remove this client from the scene |
662 | IClientAPI client; | 661 | IClientAPI client; |
663 | if (m_scene.ClientManager.TryGetValue(udpClient.AgentID, out client)) | 662 | if (m_scene.ClientManager.TryGetValue(udpClient.AgentID, out client)) |
664 | Util.FireAndForget(delegate(object o) { client.Close(); }); | 663 | client.Close(); |
665 | } | 664 | } |
666 | 665 | ||
667 | private void AcknowledgePacket(LLUDPClient client, uint ack, int currentTime, bool fromResend) | 666 | private void AcknowledgePacket(LLUDPClient client, uint ack, int currentTime, bool fromResend) |
@@ -810,19 +809,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
810 | private void LogoutHandler(IClientAPI client) | 809 | private void LogoutHandler(IClientAPI client) |
811 | { | 810 | { |
812 | client.OnLogout -= LogoutHandler; | 811 | client.OnLogout -= LogoutHandler; |
813 | |||
814 | client.SendLogoutPacket(); | 812 | client.SendLogoutPacket(); |
815 | |||
816 | if (client is LLClientView) | ||
817 | RemoveClient(((LLClientView)client).UDPClient); | ||
818 | } | 813 | } |
819 | 814 | ||
820 | private void ConnectionClosedHandler(IClientAPI client) | 815 | private void ConnectionClosedHandler(IClientAPI client) |
821 | { | 816 | { |
822 | client.OnConnectionClosed -= ConnectionClosedHandler; | 817 | client.OnConnectionClosed -= ConnectionClosedHandler; |
823 | 818 | RemoveClient(((LLClientView)client).UDPClient); | |
824 | if (client is LLClientView) | ||
825 | RemoveClient(((LLClientView)client).UDPClient); | ||
826 | } | 819 | } |
827 | } | 820 | } |
828 | } | 821 | } |