diff options
author | Melanie Thielker | 2015-06-12 03:16:09 +0200 |
---|---|---|
committer | Melanie Thielker | 2015-06-12 03:16:09 +0200 |
commit | 7aa171e49f991718ffac9a4749982f130ff7c285 (patch) | |
tree | d5572783a9debb03c119103fb4010ba28c18a1b9 | |
parent | Add WhiteCore's LL Json functions (diff) | |
download | opensim-SC_OLD-7aa171e49f991718ffac9a4749982f130ff7c285.zip opensim-SC_OLD-7aa171e49f991718ffac9a4749982f130ff7c285.tar.gz opensim-SC_OLD-7aa171e49f991718ffac9a4749982f130ff7c285.tar.bz2 opensim-SC_OLD-7aa171e49f991718ffac9a4749982f130ff7c285.tar.xz |
Maybe reduce incidence of ghost avatars
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index f66534d..b5f9da8 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -1757,6 +1757,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1757 | AuthenticateResponse sessionInfo; | 1757 | AuthenticateResponse sessionInfo; |
1758 | if (IsClientAuthorized(uccp, out sessionInfo)) | 1758 | if (IsClientAuthorized(uccp, out sessionInfo)) |
1759 | { | 1759 | { |
1760 | AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(uccp.CircuitCode.Code); | ||
1761 | |||
1760 | // Begin the process of adding the client to the simulator | 1762 | // Begin the process of adding the client to the simulator |
1761 | client | 1763 | client |
1762 | = AddClient( | 1764 | = AddClient( |
@@ -1766,6 +1768,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1766 | endPoint, | 1768 | endPoint, |
1767 | sessionInfo); | 1769 | sessionInfo); |
1768 | 1770 | ||
1771 | // This will be true if the client is new, e.g. not | ||
1772 | // an existing child agent, and there is no circuit data | ||
1773 | if (client != null && aCircuit == null) | ||
1774 | { | ||
1775 | m_scene.CloseAgent(client.AgentId, true); | ||
1776 | return; | ||
1777 | } | ||
1778 | |||
1769 | // Now we know we can handle more data | 1779 | // Now we know we can handle more data |
1770 | Thread.Sleep(200); | 1780 | Thread.Sleep(200); |
1771 | 1781 | ||
@@ -1802,7 +1812,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1802 | // We only want to send initial data to new clients, not ones which are being converted from child to root. | 1812 | // We only want to send initial data to new clients, not ones which are being converted from child to root. |
1803 | if (client != null) | 1813 | if (client != null) |
1804 | { | 1814 | { |
1805 | AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(uccp.CircuitCode.Code); | ||
1806 | bool tp = (aCircuit.teleportFlags > 0); | 1815 | bool tp = (aCircuit.teleportFlags > 0); |
1807 | // Let's delay this for TP agents, otherwise the viewer doesn't know where to get resources from | 1816 | // Let's delay this for TP agents, otherwise the viewer doesn't know where to get resources from |
1808 | if (!tp) | 1817 | if (!tp) |