diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index cfda41eabb..39718dcab4 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -1626,7 +1626,7 @@ namespace OpenSim.Region.Environment.Scenes /// /// Tell *ALL* agents about this agent /// - public void SendFullUpdateToAllClients() + public void SendInitialFullUpdateToAllClients() { m_perfMonMS = System.Environment.TickCount; @@ -1648,6 +1648,21 @@ namespace OpenSim.Region.Environment.Scenes m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS); } + public void SendFullUpdateToAllClients() + { + m_perfMonMS = System.Environment.TickCount; + + List avatars = m_scene.GetScenePresences(); + foreach (ScenePresence avatar in avatars) + { + SendFullUpdateToOtherClient(avatar); + + } + m_scene.AddAgentUpdates(avatars.Count); + m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS); + } + + /// /// Do everything required once a client completes its movement into a region /// @@ -1664,7 +1679,7 @@ namespace OpenSim.Region.Environment.Scenes m_scene.InformClientOfNeighbours(this); } - SendFullUpdateToAllClients(); + SendInitialFullUpdateToAllClients(); SendAppearanceToAllOtherAgents(); }