From c2086e6257bbf63c4b4edf56729bdf78e4ce3195 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 19 Mar 2019 00:47:45 +0000 Subject: [PATCH] add a few extra checks for viewers animated objects support, to avoid timming issues --- OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 4 ++-- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 465a4d0718..2f73454223 100755 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs @@ -1710,8 +1710,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_pendingCache.Remove(endPoint); } - client.CheckViewerCaps(); - m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count); // Reinject queued packets while (queue.Count > 0) @@ -1727,6 +1725,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP // circuit code to the existing child agent. This is not particularly obvious. SendAckImmediate(endPoint, uccp.Header.Sequence); + client.CheckViewerCaps(); + // We only want to send initial data to new clients, not ones which are being converted from child to root. if (client != null) { diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 1c5d23d9b4..e66305598c 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2180,6 +2180,9 @@ namespace OpenSim.Region.Framework.Scenes ControllingClient.MoveAgentIntoRegion(m_scene.RegionInfo, AbsolutePosition, look); //m_log.DebugFormat("[CompleteMovement] MoveAgentIntoRegion: {0}ms", Util.EnvironmentTickCountSubtract(ts)); + // recheck to reduce timing issues + ControllingClient.CheckViewerCaps(); + bool isHGTP = (m_teleportFlags & TeleportFlags.ViaHGLogin) != 0; int delayctnr = Util.EnvironmentTickCount(); @@ -4040,6 +4043,9 @@ namespace OpenSim.Region.Framework.Scenes } } + // recheck to reduce timing issues + ControllingClient.CheckViewerCaps(); + SendOtherAgentsAvatarFullToMe(); if(m_scene.ObjectsCullingByDistance)