Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor

avinationmerge
Melanie 2010-10-23 00:22:23 +01:00
commit 9a78281f82
1 changed files with 8 additions and 20 deletions

View File

@ -290,28 +290,16 @@ namespace OpenSim.Region.CoreModules.World.Land
public bool HasGroupAccess(UUID avatar)
{
if ((LandData.Flags & (uint)ParcelFlags.UseAccessGroup) == (uint)ParcelFlags.UseAccessGroup)
if (LandData.GroupID != UUID.Zero && (LandData.Flags & (uint)ParcelFlags.UseAccessGroup) == (uint)ParcelFlags.UseAccessGroup)
{
IGroupsModule groupsModule =
m_scene.RequestModuleInterface<IGroupsModule>();
ScenePresence sp;
if (!m_scene.TryGetScenePresence(avatar, out sp))
return false;
List<UUID> agentGroups = new List<UUID>();
if (groupsModule != null)
{
GroupMembershipData[] GroupMembership =
groupsModule.GetMembershipData(avatar);
if (GroupMembership != null)
{
for (int i = 0; i < GroupMembership.Length; i++)
{
if (LandData.GroupID == GroupMembership[i].GroupID)
{
return true;
}
}
}
}
if (!sp.ControllingClient.IsGroupMember(LandData.GroupID))
return false;
return true;
}
return false;
}