aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorDiva Canto2014-06-15 16:29:25 -0700
committerJustin Clark-Casey2014-06-16 18:04:45 +0100
commit2cdef143c4a4353290b9879ecf710abc1d686d4d (patch)
tree486ff9728a6d1d2b29dd7098356636da1d38820e /OpenSim
parentManual change as per patch in mantis #7212. (the patch failed to apply, but t... (diff)
downloadopensim-SC_OLD-2cdef143c4a4353290b9879ecf710abc1d686d4d.zip
opensim-SC_OLD-2cdef143c4a4353290b9879ecf710abc1d686d4d.tar.gz
opensim-SC_OLD-2cdef143c4a4353290b9879ecf710abc1d686d4d.tar.bz2
opensim-SC_OLD-2cdef143c4a4353290b9879ecf710abc1d686d4d.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.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs20
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.