diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Prioritizer.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Prioritizer.cs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Prioritizer.cs b/OpenSim/Region/Framework/Scenes/Prioritizer.cs index a7637c0..ef78f0f 100644 --- a/OpenSim/Region/Framework/Scenes/Prioritizer.cs +++ b/OpenSim/Region/Framework/Scenes/Prioritizer.cs | |||
@@ -158,6 +158,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
158 | 158 | ||
159 | private uint GetPriorityByBestAvatarResponsiveness(IClientAPI client, ISceneEntity entity) | 159 | private uint GetPriorityByBestAvatarResponsiveness(IClientAPI client, ISceneEntity entity) |
160 | { | 160 | { |
161 | if (entity == null) return 0; | ||
162 | |||
161 | uint pqueue = ComputeDistancePriority(client,entity,true); | 163 | uint pqueue = ComputeDistancePriority(client,entity,true); |
162 | 164 | ||
163 | ScenePresence presence = m_scene.GetScenePresence(client.AgentId); | 165 | ScenePresence presence = m_scene.GetScenePresence(client.AgentId); |
@@ -186,6 +188,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
186 | 188 | ||
187 | private uint ComputeDistancePriority(IClientAPI client, ISceneEntity entity, bool useFrontBack) | 189 | private uint ComputeDistancePriority(IClientAPI client, ISceneEntity entity, bool useFrontBack) |
188 | { | 190 | { |
191 | // If this is an update for our own avatar give it the highest priority | ||
192 | if (client.AgentId == entity.UUID) | ||
193 | return 0; | ||
194 | if (entity == null) | ||
195 | return 0; | ||
196 | |||
189 | // Get this agent's position | 197 | // Get this agent's position |
190 | ScenePresence presence = m_scene.GetScenePresence(client.AgentId); | 198 | ScenePresence presence = m_scene.GetScenePresence(client.AgentId); |
191 | if (presence == null) | 199 | if (presence == null) |