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/Framework | |
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 '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 7993abe..fe3438e 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -71,6 +71,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
71 | /// Triggered when a new client is added to the scene. | 71 | /// Triggered when a new client is added to the scene. |
72 | /// </summary> | 72 | /// </summary> |
73 | /// <remarks> | 73 | /// <remarks> |
74 | /// This is triggered for both child and root agent client connections. | ||
74 | /// Triggered before OnClientLogin. | 75 | /// Triggered before OnClientLogin. |
75 | /// </remarks> | 76 | /// </remarks> |
76 | public event OnNewClientDelegate OnNewClient; | 77 | public event OnNewClientDelegate OnNewClient; |
@@ -191,7 +192,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
191 | public delegate void ClientClosed(UUID clientID, Scene scene); | 192 | public delegate void ClientClosed(UUID clientID, Scene scene); |
192 | 193 | ||
193 | /// <summary> | 194 | /// <summary> |
194 | /// Fired when a client is removed from a scene. | 195 | /// Fired when a client is removed from a scene whether it's a child or a root agent. |
195 | /// </summary> | 196 | /// </summary> |
196 | /// <remarks> | 197 | /// <remarks> |
197 | /// At the point of firing, the scene still contains the client's scene presence. | 198 | /// At the point of firing, the scene still contains the client's scene presence. |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index c887b4e..44cd30a 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2670,6 +2670,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
2670 | sp.IsChildAgent ? "child" : "root", sp.Name, RegionInfo.RegionName); | 2670 | sp.IsChildAgent ? "child" : "root", sp.Name, RegionInfo.RegionName); |
2671 | } | 2671 | } |
2672 | 2672 | ||
2673 | // We must set this here so that TriggerOnNewClient and TriggerOnClientLogin can determine whether the | ||
2674 | // client is for a root or child agent. | ||
2675 | client.SceneAgent = sp; | ||
2676 | |||
2673 | m_LastLogin = Util.EnvironmentTickCount(); | 2677 | m_LastLogin = Util.EnvironmentTickCount(); |
2674 | 2678 | ||
2675 | // Cache the user's name | 2679 | // Cache the user's name |