diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 |
3 files changed, 29 insertions, 11 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 853491b..470ce2e 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -72,9 +72,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
72 | public delegate void OnNewClientDelegate(IClientAPI client); | 72 | public delegate void OnNewClientDelegate(IClientAPI client); |
73 | 73 | ||
74 | /// <summary> | 74 | /// <summary> |
75 | /// Deprecated in favour of OnClientConnect. | 75 | /// Triggered when a new client is added to the scene. |
76 | /// Will be marked Obsolete after IClientCore has 100% of IClientAPI interfaces. | ||
77 | /// </summary> | 76 | /// </summary> |
77 | /// <remarks> | ||
78 | /// Triggered before OnClientLogin. | ||
79 | /// </remarks> | ||
78 | public event OnNewClientDelegate OnNewClient; | 80 | public event OnNewClientDelegate OnNewClient; |
79 | 81 | ||
80 | /// <summary> | 82 | /// <summary> |
@@ -192,6 +194,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
192 | 194 | ||
193 | public delegate void ClientClosed(UUID clientID, Scene scene); | 195 | public delegate void ClientClosed(UUID clientID, Scene scene); |
194 | 196 | ||
197 | /// <summary> | ||
198 | /// Fired when a client is removed from a scene. | ||
199 | /// </summary> | ||
200 | /// <remarks> | ||
201 | /// At the point of firing, the scene still contains the client's scene presence. | ||
202 | /// </remarks> | ||
195 | public event ClientClosed OnClientClosed; | 203 | public event ClientClosed OnClientClosed; |
196 | 204 | ||
197 | public delegate void NewScript(UUID clientID, SceneObjectPart part, UUID itemID); | 205 | public delegate void NewScript(UUID clientID, SceneObjectPart part, UUID itemID); |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index fc1034d..cac178d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1881,8 +1881,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1881 | 1881 | ||
1882 | foreach (SceneObjectGroup group in PrimsFromDB) | 1882 | foreach (SceneObjectGroup group in PrimsFromDB) |
1883 | { | 1883 | { |
1884 | EventManager.TriggerOnSceneObjectLoaded(group); | ||
1885 | AddRestoredSceneObject(group, true, true); | 1884 | AddRestoredSceneObject(group, true, true); |
1885 | EventManager.TriggerOnSceneObjectLoaded(group); | ||
1886 | SceneObjectPart rootPart = group.GetChildPart(group.UUID); | 1886 | SceneObjectPart rootPart = group.GetChildPart(group.UUID); |
1887 | rootPart.Flags &= ~PrimFlags.Scripted; | 1887 | rootPart.Flags &= ~PrimFlags.Scripted; |
1888 | rootPart.TrimPermissions(); | 1888 | rootPart.TrimPermissions(); |
@@ -2800,14 +2800,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2800 | // Cache the user's name | 2800 | // Cache the user's name |
2801 | CacheUserName(sp, aCircuit); | 2801 | CacheUserName(sp, aCircuit); |
2802 | 2802 | ||
2803 | // Let's send the Suitcase folder for incoming HG agents | ||
2804 | if ((aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0) | ||
2805 | { | ||
2806 | m_log.DebugFormat("[SCENE]: Sending root folder to viewer..."); | ||
2807 | InventoryFolderBase suitcase = InventoryService.GetRootFolder(client.AgentId); | ||
2808 | client.SendBulkUpdateInventory(suitcase); | ||
2809 | } | ||
2810 | |||
2811 | EventManager.TriggerOnNewClient(client); | 2803 | EventManager.TriggerOnNewClient(client); |
2812 | if (vialogin) | 2804 | if (vialogin) |
2813 | { | 2805 | { |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a23dc31..ee8a236 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -32,6 +32,7 @@ using System.Reflection; | |||
32 | using System.Timers; | 32 | using System.Timers; |
33 | using OpenMetaverse; | 33 | using OpenMetaverse; |
34 | using log4net; | 34 | using log4net; |
35 | using Nini.Config; | ||
35 | using OpenSim.Framework; | 36 | using OpenSim.Framework; |
36 | using OpenSim.Framework.Client; | 37 | using OpenSim.Framework.Client; |
37 | using OpenSim.Region.Framework.Interfaces; | 38 | using OpenSim.Region.Framework.Interfaces; |
@@ -1236,6 +1237,23 @@ namespace OpenSim.Region.Framework.Scenes | |||
1236 | friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); | 1237 | friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); |
1237 | } | 1238 | } |
1238 | 1239 | ||
1240 | // HACK HACK -- just seeing how the viewer responds | ||
1241 | // Let's send the Suitcase or the real root folder folder for incoming HG agents | ||
1242 | // Visiting agents get their suitcase contents; incoming local users get their real root folder's content | ||
1243 | AgentCircuitData aCircuit = m_scene.AuthenticateHandler.GetAgentCircuitData(UUID); | ||
1244 | if ((aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0) | ||
1245 | { | ||
1246 | // HACK FOR NOW. JUST TESTING, SO KEEPING EVERYONE ELSE OUT OF THESE TESTS | ||
1247 | IConfig config = m_scene.Config.Configs["HGEntityTransferModule"]; | ||
1248 | if (config != null && config.GetBoolean("RestrictInventoryAccessAbroad", false)) | ||
1249 | { | ||
1250 | m_log.DebugFormat("[SCENE]: Sending root folder to viewer..."); | ||
1251 | InventoryFolderBase root = m_scene.InventoryService.GetRootFolder(client.AgentId); | ||
1252 | //InventoryCollection rootContents = InventoryService.GetFolderContent(client.AgentId, root.ID); | ||
1253 | client.SendBulkUpdateInventory(root); | ||
1254 | } | ||
1255 | } | ||
1256 | |||
1239 | // m_log.DebugFormat( | 1257 | // m_log.DebugFormat( |
1240 | // "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", | 1258 | // "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", |
1241 | // client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); | 1259 | // client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); |