aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2015-06-12 03:16:09 +0200
committerMelanie Thielker2015-06-12 03:16:09 +0200
commit7aa171e49f991718ffac9a4749982f130ff7c285 (patch)
treed5572783a9debb03c119103fb4010ba28c18a1b9
parentAdd WhiteCore's LL Json functions (diff)
downloadopensim-SC-7aa171e49f991718ffac9a4749982f130ff7c285.zip
opensim-SC-7aa171e49f991718ffac9a4749982f130ff7c285.tar.gz
opensim-SC-7aa171e49f991718ffac9a4749982f130ff7c285.tar.bz2
opensim-SC-7aa171e49f991718ffac9a4749982f130ff7c285.tar.xz
Maybe reduce incidence of ghost avatars
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs11
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)