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 e3ed905..e4b0323 100644 --- a/OpenSim/Region/Framework/Scenes/Prioritizer.cs +++ b/OpenSim/Region/Framework/Scenes/Prioritizer.cs | |||
@@ -134,6 +134,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
134 | 134 | ||
135 | private uint GetPriorityByBestAvatarResponsiveness(IClientAPI client, ISceneEntity entity) | 135 | private uint GetPriorityByBestAvatarResponsiveness(IClientAPI client, ISceneEntity entity) |
136 | { | 136 | { |
137 | if (entity == null) return 0; | ||
138 | |||
137 | uint pqueue = ComputeDistancePriority(client,entity,true); | 139 | uint pqueue = ComputeDistancePriority(client,entity,true); |
138 | 140 | ||
139 | ScenePresence presence = m_scene.GetScenePresence(client.AgentId); | 141 | ScenePresence presence = m_scene.GetScenePresence(client.AgentId); |
@@ -162,6 +164,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
162 | 164 | ||
163 | private uint ComputeDistancePriority(IClientAPI client, ISceneEntity entity, bool useFrontBack) | 165 | private uint ComputeDistancePriority(IClientAPI client, ISceneEntity entity, bool useFrontBack) |
164 | { | 166 | { |
167 | // If this is an update for our own avatar give it the highest priority | ||
168 | if (client.AgentId == entity.UUID) | ||
169 | return 0; | ||
170 | if (entity == null) | ||
171 | return 0; | ||
172 | |||
165 | // Get this agent's position | 173 | // Get this agent's position |
166 | ScenePresence presence = m_scene.GetScenePresence(client.AgentId); | 174 | ScenePresence presence = m_scene.GetScenePresence(client.AgentId); |
167 | if (presence == null) | 175 | if (presence == null) |