diff options
author | Diva Canto | 2014-06-15 16:29:25 -0700 |
---|---|---|
committer | Diva Canto | 2014-06-15 16:29:25 -0700 |
commit | c5f7184d1ba8c608574dae6d8a2af3aceff61417 (patch) | |
tree | a25fb6f17b43c73079b7d2a0804071ebf344c63e | |
parent | Manual change as per patch in mantis #7212. (the patch failed to apply, but t... (diff) | |
download | opensim-SC-c5f7184d1ba8c608574dae6d8a2af3aceff61417.zip opensim-SC-c5f7184d1ba8c608574dae6d8a2af3aceff61417.tar.gz opensim-SC-c5f7184d1ba8c608574dae6d8a2af3aceff61417.tar.bz2 opensim-SC-c5f7184d1ba8c608574dae6d8a2af3aceff61417.tar.xz |
Behavior change: only local users can set home in any parcel of a grid. Setting it for foreign users does not make sense, since cntrl+shift+H always teleports them back to their original grid.
-rw-r--r-- | OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index ddea5b0..0276b63 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | |||
@@ -1985,15 +1985,17 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1985 | telehub = m_scene.GetSceneObjectGroup(m_scene.RegionInfo.RegionSettings.TelehubObject); | 1985 | telehub = m_scene.GetSceneObjectGroup(m_scene.RegionInfo.RegionSettings.TelehubObject); |
1986 | 1986 | ||
1987 | // Can the user set home here? | 1987 | // Can the user set home here? |
1988 | if (// (a) gods and land managers can set home | 1988 | if (// Required: local user; foreign users cannot set home |
1989 | m_scene.Permissions.IsAdministrator(remoteClient.AgentId) || | 1989 | m_scene.UserManagementModule.IsLocalGridUser(remoteClient.AgentId) && |
1990 | m_scene.Permissions.IsGod(remoteClient.AgentId) || | 1990 | (// (a) gods and land managers can set home |
1991 | // (b) land owners can set home | 1991 | m_scene.Permissions.IsAdministrator(remoteClient.AgentId) || |
1992 | remoteClient.AgentId == land.LandData.OwnerID || | 1992 | m_scene.Permissions.IsGod(remoteClient.AgentId) || |
1993 | // (c) members of the land-associated group in roles that can set home | 1993 | // (b) land owners can set home |
1994 | ((gpowers & (ulong)GroupPowers.AllowSetHome) == (ulong)GroupPowers.AllowSetHome) || | 1994 | remoteClient.AgentId == land.LandData.OwnerID || |
1995 | // (d) parcels with telehubs can be the home of anyone | 1995 | // (c) members of the land-associated group in roles that can set home |
1996 | (telehub != null && land.ContainsPoint((int)telehub.AbsolutePosition.X, (int)telehub.AbsolutePosition.Y))) | 1996 | ((gpowers & (ulong)GroupPowers.AllowSetHome) == (ulong)GroupPowers.AllowSetHome) || |
1997 | // (d) parcels with telehubs can be the home of anyone | ||
1998 | (telehub != null && land.ContainsPoint((int)telehub.AbsolutePosition.X, (int)telehub.AbsolutePosition.Y)))) | ||
1997 | { | 1999 | { |
1998 | if (m_scene.GridUserService.SetHome(remoteClient.AgentId.ToString(), land.RegionUUID, position, lookAt)) | 2000 | if (m_scene.GridUserService.SetHome(remoteClient.AgentId.ToString(), land.RegionUUID, position, lookAt)) |
1999 | // FUBAR ALERT: this needs to be "Home position set." so the viewer saves a home-screenshot. | 2001 | // FUBAR ALERT: this needs to be "Home position set." so the viewer saves a home-screenshot. |