diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 53 |
1 files changed, 23 insertions, 30 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index ee6c708..3834b79 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2598,19 +2598,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
2598 | public void SendOtherAgentsAvatarDataToMe() | 2598 | public void SendOtherAgentsAvatarDataToMe() |
2599 | { | 2599 | { |
2600 | int count = 0; | 2600 | int count = 0; |
2601 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) | 2601 | m_scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) |
2602 | { | 2602 | { |
2603 | // only send information about root agents | 2603 | // only send information about other root agents |
2604 | if (scenePresence.IsChildAgent) | 2604 | if (scenePresence.UUID == UUID) |
2605 | return; | 2605 | return; |
2606 | |||
2607 | // only send information about other root agents | ||
2608 | if (scenePresence.UUID == UUID) | ||
2609 | return; | ||
2610 | 2606 | ||
2611 | scenePresence.SendAvatarDataToAgent(this); | 2607 | scenePresence.SendAvatarDataToAgent(this); |
2612 | count++; | 2608 | count++; |
2613 | }); | 2609 | }); |
2614 | 2610 | ||
2615 | m_scene.StatsReporter.AddAgentUpdates(count); | 2611 | m_scene.StatsReporter.AddAgentUpdates(count); |
2616 | } | 2612 | } |
@@ -2644,13 +2640,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
2644 | 2640 | ||
2645 | int count = 0; | 2641 | int count = 0; |
2646 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) | 2642 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) |
2647 | { | 2643 | { |
2648 | if (scenePresence.UUID == UUID) | 2644 | // only send information to other root agents |
2649 | return; | 2645 | if (scenePresence.UUID == UUID) |
2646 | return; | ||
2650 | 2647 | ||
2651 | SendAppearanceToAgent(scenePresence); | 2648 | SendAppearanceToAgent(scenePresence); |
2652 | count++; | 2649 | count++; |
2653 | }); | 2650 | }); |
2654 | 2651 | ||
2655 | m_scene.StatsReporter.AddAgentUpdates(count); | 2652 | m_scene.StatsReporter.AddAgentUpdates(count); |
2656 | } | 2653 | } |
@@ -2664,19 +2661,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
2664 | //m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID); | 2661 | //m_log.DebugFormat("[SCENE PRESENCE] SendOtherAgentsAppearanceToMe: {0} ({1})", Name, UUID); |
2665 | 2662 | ||
2666 | int count = 0; | 2663 | int count = 0; |
2667 | m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence) | 2664 | m_scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) |
2668 | { | 2665 | { |
2669 | // only send information about root agents | 2666 | // only send information about other root agents |
2670 | if (scenePresence.IsChildAgent) | 2667 | if (scenePresence.UUID == UUID) |
2671 | return; | 2668 | return; |
2672 | |||
2673 | // only send information about other root agents | ||
2674 | if (scenePresence.UUID == UUID) | ||
2675 | return; | ||
2676 | 2669 | ||
2677 | scenePresence.SendAppearanceToAgent(this); | 2670 | scenePresence.SendAppearanceToAgent(this); |
2678 | count++; | 2671 | count++; |
2679 | }); | 2672 | }); |
2680 | 2673 | ||
2681 | m_scene.StatsReporter.AddAgentUpdates(count); | 2674 | m_scene.StatsReporter.AddAgentUpdates(count); |
2682 | } | 2675 | } |