diff options
author | Melanie | 2010-11-25 21:22:22 +0100 |
---|---|---|
committer | Melanie | 2010-11-25 21:22:22 +0100 |
commit | 33c023bf6a0dc5445b6ccbecfff080032f279f2e (patch) | |
tree | edfac00a34d77023627b4b8db0e12a096da98231 /OpenSim/Region/CoreModules | |
parent | Add the ability for gods to impersonate users. For this, bit 6 needs to be (diff) | |
download | opensim-SC_OLD-33c023bf6a0dc5445b6ccbecfff080032f279f2e.zip opensim-SC_OLD-33c023bf6a0dc5445b6ccbecfff080032f279f2e.tar.gz opensim-SC_OLD-33c023bf6a0dc5445b6ccbecfff080032f279f2e.tar.bz2 opensim-SC_OLD-33c023bf6a0dc5445b6ccbecfff080032f279f2e.tar.xz |
Allow group lookup during tp / login to make restricting parcels to group
work.
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Land/LandObject.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index d0517b7..d596887 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -294,7 +294,22 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
294 | { | 294 | { |
295 | ScenePresence sp; | 295 | ScenePresence sp; |
296 | if (!m_scene.TryGetScenePresence(avatar, out sp)) | 296 | if (!m_scene.TryGetScenePresence(avatar, out sp)) |
297 | { | ||
298 | IGroupsModule groupsModule = m_scene.RequestModuleInterface<IGroupsModule>(); | ||
299 | if (groupsModule == null) | ||
300 | return false; | ||
301 | |||
302 | GroupMembershipData[] membership = groupsModule.GetMembershipData(avatar); | ||
303 | if (membership == null || membership.Length == 0) | ||
304 | return false; | ||
305 | |||
306 | foreach (GroupMembershipData d in membership) | ||
307 | { | ||
308 | if (d.GroupID == LandData.GroupID) | ||
309 | return true; | ||
310 | } | ||
297 | return false; | 311 | return false; |
312 | } | ||
298 | 313 | ||
299 | if (!sp.ControllingClient.IsGroupMember(LandData.GroupID)) | 314 | if (!sp.ControllingClient.IsGroupMember(LandData.GroupID)) |
300 | return false; | 315 | return false; |