diff options
author | Diva Canto | 2010-01-29 18:59:41 -0800 |
---|---|---|
committer | Diva Canto | 2010-01-29 18:59:41 -0800 |
commit | 5001f61c08fea2ebfcb2590be69073d04d129d70 (patch) | |
tree | 08a0470b0b566f814209bfb803fbcc0959333bcd /OpenSim/Region/ClientStack/LindenUDP | |
parent | Works for grid login. (diff) | |
download | opensim-SC_OLD-5001f61c08fea2ebfcb2590be69073d04d129d70.zip opensim-SC_OLD-5001f61c08fea2ebfcb2590be69073d04d129d70.tar.gz opensim-SC_OLD-5001f61c08fea2ebfcb2590be69073d04d129d70.tar.bz2 opensim-SC_OLD-5001f61c08fea2ebfcb2590be69073d04d129d70.tar.xz |
* HGGridConnector is no longer necessary.
* Handle logout properly. This needed an addition to IClientAPI, because of how the logout packet is currently being handled -- the agent is being removed from the scene before the different event handlers are executed, which is broken.
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index ae0bd79..79bea26 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -351,6 +351,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
351 | private bool m_SendLogoutPacketWhenClosing = true; | 351 | private bool m_SendLogoutPacketWhenClosing = true; |
352 | private AgentUpdateArgs lastarg; | 352 | private AgentUpdateArgs lastarg; |
353 | private bool m_IsActive = true; | 353 | private bool m_IsActive = true; |
354 | private bool m_IsLoggingOut = false; | ||
354 | 355 | ||
355 | protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>(); | 356 | protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>(); |
356 | protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers | 357 | protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers |
@@ -414,6 +415,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
414 | get { return m_IsActive; } | 415 | get { return m_IsActive; } |
415 | set { m_IsActive = value; } | 416 | set { m_IsActive = value; } |
416 | } | 417 | } |
418 | public bool IsLoggingOut | ||
419 | { | ||
420 | get { return m_IsLoggingOut; } | ||
421 | set { m_IsLoggingOut = value; } | ||
422 | } | ||
423 | |||
417 | public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } | 424 | public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } |
418 | 425 | ||
419 | #endregion Properties | 426 | #endregion Properties |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 3c4fa72..2d956fa 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -919,7 +919,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
919 | // Remove this client from the scene | 919 | // Remove this client from the scene |
920 | IClientAPI client; | 920 | IClientAPI client; |
921 | if (m_scene.TryGetClient(udpClient.AgentID, out client)) | 921 | if (m_scene.TryGetClient(udpClient.AgentID, out client)) |
922 | { | ||
923 | client.IsLoggingOut = true; | ||
922 | client.Close(); | 924 | client.Close(); |
925 | } | ||
923 | } | 926 | } |
924 | 927 | ||
925 | private void IncomingPacketHandler() | 928 | private void IncomingPacketHandler() |