diff options
author | Justin Clark-Casey (justincc) | 2012-05-07 18:27:33 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-05-07 18:27:33 +0100 |
commit | 5053506d88ac8b06be27ffb404bcc120e3f48241 (patch) | |
tree | 61075c911df0e9779a9558e68dd57f26250b8937 /OpenSim/Region | |
parent | Fix a bug in FriendsModule.StatusNotify() where all subsequent friends would ... (diff) | |
download | opensim-SC_OLD-5053506d88ac8b06be27ffb404bcc120e3f48241.zip opensim-SC_OLD-5053506d88ac8b06be27ffb404bcc120e3f48241.tar.gz opensim-SC_OLD-5053506d88ac8b06be27ffb404bcc120e3f48241.tar.bz2 opensim-SC_OLD-5053506d88ac8b06be27ffb404bcc120e3f48241.tar.xz |
refactor: Instead of performing a ScenePresence lookup twice over LocateClientObject() and GetClientScene(), do the lookup just once in LocateClientObject()
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 98afbc9..24ec435 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -449,29 +449,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
449 | /// </summary> | 449 | /// </summary> |
450 | public IClientAPI LocateClientObject(UUID agentID) | 450 | public IClientAPI LocateClientObject(UUID agentID) |
451 | { | 451 | { |
452 | Scene scene = GetClientScene(agentID); | ||
453 | if (scene != null) | ||
454 | { | ||
455 | ScenePresence presence = scene.GetScenePresence(agentID); | ||
456 | if (presence != null) | ||
457 | return presence.ControllingClient; | ||
458 | } | ||
459 | |||
460 | return null; | ||
461 | } | ||
462 | |||
463 | /// <summary> | ||
464 | /// Find the scene for an agent | ||
465 | /// </summary> | ||
466 | private Scene GetClientScene(UUID agentId) | ||
467 | { | ||
468 | lock (m_Scenes) | 452 | lock (m_Scenes) |
469 | { | 453 | { |
470 | foreach (Scene scene in m_Scenes) | 454 | foreach (Scene scene in m_Scenes) |
471 | { | 455 | { |
472 | ScenePresence presence = scene.GetScenePresence(agentId); | 456 | ScenePresence presence = scene.GetScenePresence(agentID); |
473 | if (presence != null && !presence.IsChildAgent) | 457 | if (presence != null && !presence.IsChildAgent) |
474 | return scene; | 458 | return presence.ControllingClient; |
475 | } | 459 | } |
476 | } | 460 | } |
477 | 461 | ||