aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-03-29 01:26:30 +0100
committerJustin Clark-Casey (justincc)2012-03-29 01:26:30 +0100
commit22a85b947a16074525343a56203211806ce16834 (patch)
tree0ce05c1edf757ed7d0d611bbdefe79816b6d65dc /OpenSim/Region/Framework/Scenes
parentChange namespace on CallingCardModule and correct interface file placemant. A... (diff)
downloadopensim-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/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/EventManager.cs3
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs4
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