Group based access restrictions to parcels require group membership, but not that this group is active for that user.
parent
600a86bcae
commit
e4406c846d
|
@ -423,9 +423,6 @@ namespace OpenSim.Region.CoreModules.World.Land
|
|||
public bool HasGroupAccess(UUID avatar)
|
||||
{
|
||||
if (LandData.GroupID != UUID.Zero && (LandData.Flags & (uint)ParcelFlags.UseAccessGroup) == (uint)ParcelFlags.UseAccessGroup)
|
||||
{
|
||||
ScenePresence sp;
|
||||
if (!m_scene.TryGetScenePresence(avatar, out sp))
|
||||
{
|
||||
bool isMember;
|
||||
if (m_groupMemberCache.TryGetValue(avatar, out isMember))
|
||||
|
@ -433,7 +430,10 @@ namespace OpenSim.Region.CoreModules.World.Land
|
|||
|
||||
IGroupsModule groupsModule = m_scene.RequestModuleInterface<IGroupsModule>();
|
||||
if (groupsModule == null)
|
||||
{
|
||||
m_groupMemberCache.Add(avatar, false, m_groupMemberCacheTimeout);
|
||||
return false;
|
||||
}
|
||||
|
||||
GroupMembershipData[] membership = groupsModule.GetMembershipData(avatar);
|
||||
if (membership == null || membership.Length == 0)
|
||||
|
@ -453,9 +453,6 @@ namespace OpenSim.Region.CoreModules.World.Land
|
|||
m_groupMemberCache.Add(avatar, false, m_groupMemberCacheTimeout);
|
||||
return false;
|
||||
}
|
||||
|
||||
return sp.ControllingClient.IsGroupMember(LandData.GroupID);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue