Merge branch 'master' into careminster
Conflicts: OpenSim/Region/Framework/Scenes/Scene.cs OpenSim/Region/Framework/Scenes/SceneCommunicationService.csavinationmerge
commit
c5af3e384c
|
@ -486,10 +486,10 @@ namespace OpenSim
|
||||||
else
|
else
|
||||||
presence.ControllingClient.Kick("\nYou have been logged out by an administrator.\n");
|
presence.ControllingClient.Kick("\nYou have been logged out by an administrator.\n");
|
||||||
|
|
||||||
// ...and close on our side
|
presence.ControllingClient.Close();
|
||||||
presence.Scene.IncomingCloseAgent(presence.UUID);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MainConsole.Instance.Output("");
|
MainConsole.Instance.Output("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1233,7 +1233,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
if (land.LandData.LocalID == LandData.LocalID)
|
if (land.LandData.LocalID == LandData.LocalID)
|
||||||
{
|
{
|
||||||
Vector3 pos = m_scene.GetNearestAllowedPosition(presence, land);
|
Vector3 pos = m_scene.GetNearestAllowedPosition(presence, land);
|
||||||
presence.TeleportWithMomentum(pos);
|
presence.TeleportWithMomentum(pos, null);
|
||||||
presence.ControllingClient.SendAlertMessage("You have been ejected from this land");
|
presence.ControllingClient.SendAlertMessage("You have been ejected from this land");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -973,7 +973,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.InfoFormat(
|
m_log.InfoFormat(
|
||||||
"[INTERGRID]: Got notice about far away Region: {0} at ({1}, {2})",
|
"[SCENE]: Got notice about far away Region: {0} at ({1}, {2})",
|
||||||
otherRegion.RegionName, otherRegion.RegionLocX, otherRegion.RegionLocY);
|
otherRegion.RegionName, otherRegion.RegionLocX, otherRegion.RegionLocY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3388,6 +3388,22 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
isChildAgent = avatar.IsChildAgent;
|
isChildAgent = avatar.IsChildAgent;
|
||||||
|
|
||||||
|
// Don't do this to root agents, it's not nice for the viewer
|
||||||
|
if (closeChildAgents && isChildAgent)
|
||||||
|
{
|
||||||
|
// Tell a single agent to disconnect from the region.
|
||||||
|
IEventQueue eq = RequestModuleInterface<IEventQueue>();
|
||||||
|
if (eq != null)
|
||||||
|
{
|
||||||
|
eq.DisableSimulator(RegionInfo.RegionHandle, avatar.UUID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
avatar.ControllingClient.SendShutdownConnectionNotice();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only applies to root agents.
|
||||||
if (avatar.ParentID != 0)
|
if (avatar.ParentID != 0)
|
||||||
{
|
{
|
||||||
avatar.StandUp();
|
avatar.StandUp();
|
||||||
|
@ -4227,23 +4243,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_sceneGraph.removeUserCount(true);
|
m_sceneGraph.removeUserCount(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't do this to root agents on logout, it's not nice for the viewer
|
presence.ControllingClient.Close();
|
||||||
if (presence.IsChildAgent)
|
|
||||||
{
|
|
||||||
// Tell a single agent to disconnect from the region.
|
|
||||||
IEventQueue eq = RequestModuleInterface<IEventQueue>();
|
|
||||||
if (eq != null)
|
|
||||||
{
|
|
||||||
eq.DisableSimulator(RegionInfo.RegionHandle, agentID);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
presence.ControllingClient.SendShutdownConnectionNotice();
|
|
||||||
presence.ControllingClient.Close(false);
|
|
||||||
}
|
|
||||||
else if (!childOnly)
|
|
||||||
{
|
|
||||||
presence.ControllingClient.Close(true);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -84,16 +84,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (neighbourService != null)
|
if (neighbourService != null)
|
||||||
neighbour = neighbourService.HelloNeighbour(regionhandle, region);
|
neighbour = neighbourService.HelloNeighbour(regionhandle, region);
|
||||||
else
|
else
|
||||||
m_log.DebugFormat("[SCS]: No neighbour service provided for informing neigbhours of this region");
|
m_log.DebugFormat("[SCENE COMMUNICATION SERVICE]: No neighbour service provided for informing neigbhours of this region");
|
||||||
|
|
||||||
if (neighbour != null)
|
if (neighbour != null)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[INTERGRID]: Successfully informed neighbour {0}-{1} that I'm here", x / Constants.RegionSize, y / Constants.RegionSize);
|
m_log.DebugFormat("[SCENE COMMUNICATION SERVICE]: Successfully informed neighbour {0}-{1} that I'm here", x / Constants.RegionSize, y / Constants.RegionSize);
|
||||||
m_scene.EventManager.TriggerOnRegionUp(neighbour);
|
m_scene.EventManager.TriggerOnRegionUp(neighbour);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_log.InfoFormat("[INTERGRID]: Failed to inform neighbour {0}-{1} that I'm here.", x / Constants.RegionSize, y / Constants.RegionSize);
|
m_log.InfoFormat("[SCENE COMMUNICATION SERVICE]: Failed to inform neighbour {0}-{1} that I'm here.", x / Constants.RegionSize, y / Constants.RegionSize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: Sending InterRegion Notification that region is up " + region.RegionName);
|
//m_log.Info("[INTER]: " + debugRegionName + ": SceneCommunicationService: Sending InterRegion Notification that region is up " + region.RegionName);
|
||||||
|
|
||||||
List<GridRegion> neighbours = m_scene.GridService.GetNeighbours(m_scene.RegionInfo.ScopeID, m_scene.RegionInfo.RegionID);
|
List<GridRegion> neighbours = m_scene.GridService.GetNeighbours(m_scene.RegionInfo.ScopeID, m_scene.RegionInfo.RegionID);
|
||||||
//m_log.DebugFormat("[INTERGRID]: Informing {0} neighbours that this region is up", neighbours.Count);
|
m_log.DebugFormat("[SCENE COMMUNICATION SERVICE]: Informing {0} neighbours that this region is up", neighbours.Count);
|
||||||
foreach (GridRegion n in neighbours)
|
foreach (GridRegion n in neighbours)
|
||||||
{
|
{
|
||||||
InformNeighbourThatRegionUpDelegate d = InformNeighboursThatRegionIsUpAsync;
|
InformNeighbourThatRegionUpDelegate d = InformNeighboursThatRegionIsUpAsync;
|
||||||
|
|
Loading…
Reference in New Issue