aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2014-06-15 16:29:25 -0700
committerDiva Canto2014-06-15 16:29:25 -0700
commitc5f7184d1ba8c608574dae6d8a2af3aceff61417 (patch)
treea25fb6f17b43c73079b7d2a0804071ebf344c63e
parentManual change as per patch in mantis #7212. (the patch failed to apply, but t... (diff)
downloadopensim-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.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.