diff options
author | Justin Clark-Casey (justincc) | 2012-03-29 01:26:30 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-03-29 01:26:30 +0100 |
commit | 22a85b947a16074525343a56203211806ce16834 (patch) | |
tree | 0ce05c1edf757ed7d0d611bbdefe79816b6d65dc /OpenSim/Region/CoreModules/Avatar/Friends | |
parent | Change namespace on CallingCardModule and correct interface file placemant. A... (diff) | |
download | opensim-SC_OLD-22a85b947a16074525343a56203211806ce16834.zip opensim-SC_OLD-22a85b947a16074525343a56203211806ce16834.tar.gz opensim-SC_OLD-22a85b947a16074525343a56203211806ce16834.tar.bz2 opensim-SC_OLD-22a85b947a16074525343a56203211806ce16834.tar.xz |
Add back parts of reverted changes that were not concerned with child agent caching.
This adds ScenePresence to IClientAPI.SceneAgent earlier on in the add client process so that its information is available to EventManager.OnNewClient() and OnClientLogin()
Also add a code comment as to why we're caching friend information for child agents.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/Friends')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index aadd3bc..0c83679 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -261,6 +261,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
261 | client.OnTerminateFriendship += (thisClient, agentID, exfriendID) => RemoveFriendship(thisClient, exfriendID); | 261 | client.OnTerminateFriendship += (thisClient, agentID, exfriendID) => RemoveFriendship(thisClient, exfriendID); |
262 | client.OnGrantUserRights += OnGrantUserRights; | 262 | client.OnGrantUserRights += OnGrantUserRights; |
263 | 263 | ||
264 | // We need to cache information for child agents as well as root agents so that friend edit/move/delete | ||
265 | // permissions will work across borders where both regions are on different simulators. | ||
266 | // | ||
264 | // Do not do this asynchronously. If we do, then subsequent code can outrace CacheFriends() and | 267 | // Do not do this asynchronously. If we do, then subsequent code can outrace CacheFriends() and |
265 | // return misleading results from the still empty friends cache. | 268 | // return misleading results from the still empty friends cache. |
266 | // If we absolutely need to do this asynchronously, then a signalling mechanism is needed so that calls | 269 | // If we absolutely need to do this asynchronously, then a signalling mechanism is needed so that calls |