mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 10:15:33 +08:00
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
This commit is contained in:
@@ -422,13 +422,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
// is not allowed to change the export flag.
|
||||
bool denyExportChange = false;
|
||||
|
||||
m_log.InfoFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions);
|
||||
// m_log.DebugFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions);
|
||||
|
||||
// If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export
|
||||
if ((item.BasePermissions & (uint)(PermissionMask.All | PermissionMask.Export)) != (uint)(PermissionMask.All | PermissionMask.Export) || (item.CurrentPermissions & (uint)PermissionMask.Export) == 0 || item.CreatorIdAsUuid != item.Owner)
|
||||
denyExportChange = true;
|
||||
|
||||
m_log.InfoFormat("[XXX]: Deny Export Update {0}", denyExportChange);
|
||||
// m_log.DebugFormat("[XXX]: Deny Export Update {0}", denyExportChange);
|
||||
|
||||
// If it is already set, force it set and also force full perm
|
||||
// else prevent setting it. It can and should never be set unless
|
||||
@@ -452,7 +452,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
// If the new state is exportable, force full perm
|
||||
if ((itemUpd.EveryOnePermissions & (uint)PermissionMask.Export) != 0)
|
||||
{
|
||||
m_log.InfoFormat("[XXX]: Force full perm");
|
||||
// m_log.DebugFormat("[XXX]: Force full perm");
|
||||
itemUpd.NextPermissions = (uint)(PermissionMask.All);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3435,15 +3435,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
if (closeChildAgents && CapsModule != null)
|
||||
CapsModule.RemoveCaps(agentID);
|
||||
|
||||
// // REFACTORING PROBLEM -- well not really a problem, but just to point out that whatever
|
||||
// // this method is doing is HORRIBLE!!!
|
||||
// Commented pending deletion since this method no longer appears to do anything at all
|
||||
// avatar.Scene.NeedSceneCacheClear(avatar.UUID);
|
||||
|
||||
if (closeChildAgents && !isChildAgent)
|
||||
{
|
||||
List<ulong> regions = avatar.KnownRegionHandles;
|
||||
regions.Remove(RegionInfo.RegionHandle);
|
||||
|
||||
// This ends up being done asynchronously so that a logout isn't held up where there are many present but unresponsive neighbours.
|
||||
m_sceneGridService.SendCloseChildAgentConnections(agentID, regions);
|
||||
}
|
||||
|
||||
|
||||
@@ -222,9 +222,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
public void SendCloseChildAgentConnections(UUID agentID, List<ulong> regionslst)
|
||||
{
|
||||
foreach (ulong handle in regionslst)
|
||||
{
|
||||
SendCloseChildAgent(agentID, handle);
|
||||
}
|
||||
Util.FireAndForget(delegate { SendCloseChildAgent(agentID, handle); });
|
||||
}
|
||||
|
||||
public List<GridRegion> RequestNamedRegions(string name, int maxNumber)
|
||||
|
||||
@@ -3137,10 +3137,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
if (byebyeRegions.Count > 0)
|
||||
{
|
||||
m_log.Debug("[SCENE PRESENCE]: Closing " + byebyeRegions.Count + " child agents");
|
||||
Util.FireAndForget(delegate
|
||||
{
|
||||
m_scene.SceneGridService.SendCloseChildAgentConnections(ControllingClient.AgentId, byebyeRegions);
|
||||
});
|
||||
|
||||
m_scene.SceneGridService.SendCloseChildAgentConnections(ControllingClient.AgentId, byebyeRegions);
|
||||
}
|
||||
|
||||
foreach (ulong handle in byebyeRegions)
|
||||
|
||||
@@ -289,6 +289,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
|
||||
private void statsHeartBeat(object sender, EventArgs e)
|
||||
{
|
||||
if (!m_scene.Active)
|
||||
return;
|
||||
|
||||
SimStatsPacket.StatBlock[] sb = new SimStatsPacket.StatBlock[22];
|
||||
SimStatsPacket.RegionBlock rb = new SimStatsPacket.RegionBlock();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user