diff options
Diffstat (limited to 'OpenSim/Region/Framework')
5 files changed, 11 insertions, 15 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 80581dc..6c79b13 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -422,13 +422,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
422 | // is not allowed to change the export flag. | 422 | // is not allowed to change the export flag. |
423 | bool denyExportChange = false; | 423 | bool denyExportChange = false; |
424 | 424 | ||
425 | m_log.InfoFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions); | 425 | // m_log.DebugFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions); |
426 | 426 | ||
427 | // If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export | 427 | // If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export |
428 | if ((item.BasePermissions & (uint)(PermissionMask.All | PermissionMask.Export)) != (uint)(PermissionMask.All | PermissionMask.Export) || (item.CurrentPermissions & (uint)PermissionMask.Export) == 0 || item.CreatorIdAsUuid != item.Owner) | 428 | if ((item.BasePermissions & (uint)(PermissionMask.All | PermissionMask.Export)) != (uint)(PermissionMask.All | PermissionMask.Export) || (item.CurrentPermissions & (uint)PermissionMask.Export) == 0 || item.CreatorIdAsUuid != item.Owner) |
429 | denyExportChange = true; | 429 | denyExportChange = true; |
430 | 430 | ||
431 | m_log.InfoFormat("[XXX]: Deny Export Update {0}", denyExportChange); | 431 | // m_log.DebugFormat("[XXX]: Deny Export Update {0}", denyExportChange); |
432 | 432 | ||
433 | // If it is already set, force it set and also force full perm | 433 | // If it is already set, force it set and also force full perm |
434 | // else prevent setting it. It can and should never be set unless | 434 | // else prevent setting it. It can and should never be set unless |
@@ -452,7 +452,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
452 | // If the new state is exportable, force full perm | 452 | // If the new state is exportable, force full perm |
453 | if ((itemUpd.EveryOnePermissions & (uint)PermissionMask.Export) != 0) | 453 | if ((itemUpd.EveryOnePermissions & (uint)PermissionMask.Export) != 0) |
454 | { | 454 | { |
455 | m_log.InfoFormat("[XXX]: Force full perm"); | 455 | // m_log.DebugFormat("[XXX]: Force full perm"); |
456 | itemUpd.NextPermissions = (uint)(PermissionMask.All); | 456 | itemUpd.NextPermissions = (uint)(PermissionMask.All); |
457 | } | 457 | } |
458 | } | 458 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 6bbcbd7..8fe9b66 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3435,15 +3435,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
3435 | if (closeChildAgents && CapsModule != null) | 3435 | if (closeChildAgents && CapsModule != null) |
3436 | CapsModule.RemoveCaps(agentID); | 3436 | CapsModule.RemoveCaps(agentID); |
3437 | 3437 | ||
3438 | // // REFACTORING PROBLEM -- well not really a problem, but just to point out that whatever | ||
3439 | // // this method is doing is HORRIBLE!!! | ||
3440 | // Commented pending deletion since this method no longer appears to do anything at all | ||
3441 | // avatar.Scene.NeedSceneCacheClear(avatar.UUID); | ||
3442 | |||
3443 | if (closeChildAgents && !isChildAgent) | 3438 | if (closeChildAgents && !isChildAgent) |
3444 | { | 3439 | { |
3445 | List<ulong> regions = avatar.KnownRegionHandles; | 3440 | List<ulong> regions = avatar.KnownRegionHandles; |
3446 | regions.Remove(RegionInfo.RegionHandle); | 3441 | regions.Remove(RegionInfo.RegionHandle); |
3442 | |||
3443 | // This ends up being done asynchronously so that a logout isn't held up where there are many present but unresponsive neighbours. | ||
3447 | m_sceneGridService.SendCloseChildAgentConnections(agentID, regions); | 3444 | m_sceneGridService.SendCloseChildAgentConnections(agentID, regions); |
3448 | } | 3445 | } |
3449 | 3446 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index 305f8a4..8c84c98 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | |||
@@ -222,9 +222,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
222 | public void SendCloseChildAgentConnections(UUID agentID, List<ulong> regionslst) | 222 | public void SendCloseChildAgentConnections(UUID agentID, List<ulong> regionslst) |
223 | { | 223 | { |
224 | foreach (ulong handle in regionslst) | 224 | foreach (ulong handle in regionslst) |
225 | { | 225 | Util.FireAndForget(delegate { SendCloseChildAgent(agentID, handle); }); |
226 | SendCloseChildAgent(agentID, handle); | ||
227 | } | ||
228 | } | 226 | } |
229 | 227 | ||
230 | public List<GridRegion> RequestNamedRegions(string name, int maxNumber) | 228 | public List<GridRegion> RequestNamedRegions(string name, int maxNumber) |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 1b81985..0c91e13 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3137,10 +3137,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3137 | if (byebyeRegions.Count > 0) | 3137 | if (byebyeRegions.Count > 0) |
3138 | { | 3138 | { |
3139 | m_log.Debug("[SCENE PRESENCE]: Closing " + byebyeRegions.Count + " child agents"); | 3139 | m_log.Debug("[SCENE PRESENCE]: Closing " + byebyeRegions.Count + " child agents"); |
3140 | Util.FireAndForget(delegate | 3140 | |
3141 | { | 3141 | m_scene.SceneGridService.SendCloseChildAgentConnections(ControllingClient.AgentId, byebyeRegions); |
3142 | m_scene.SceneGridService.SendCloseChildAgentConnections(ControllingClient.AgentId, byebyeRegions); | ||
3143 | }); | ||
3144 | } | 3142 | } |
3145 | 3143 | ||
3146 | foreach (ulong handle in byebyeRegions) | 3144 | foreach (ulong handle in byebyeRegions) |
diff --git a/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs b/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs index b9d615e..95f9caf 100644 --- a/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs +++ b/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs | |||
@@ -289,6 +289,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
289 | 289 | ||
290 | private void statsHeartBeat(object sender, EventArgs e) | 290 | private void statsHeartBeat(object sender, EventArgs e) |
291 | { | 291 | { |
292 | if (!m_scene.Active) | ||
293 | return; | ||
294 | |||
292 | SimStatsPacket.StatBlock[] sb = new SimStatsPacket.StatBlock[22]; | 295 | SimStatsPacket.StatBlock[] sb = new SimStatsPacket.StatBlock[22]; |
293 | SimStatsPacket.RegionBlock rb = new SimStatsPacket.RegionBlock(); | 296 | SimStatsPacket.RegionBlock rb = new SimStatsPacket.RegionBlock(); |
294 | 297 | ||