Fix an issue where HG members of groups weren't seeing the entire membership for group chat.
parent
63f6c8f27c
commit
698b2135ee
|
@ -52,7 +52,7 @@ namespace OpenSim.Groups
|
||||||
private IPresenceService m_presenceService;
|
private IPresenceService m_presenceService;
|
||||||
|
|
||||||
private IMessageTransferModule m_msgTransferModule = null;
|
private IMessageTransferModule m_msgTransferModule = null;
|
||||||
|
private IUserManagement m_UserManagement = null;
|
||||||
private IGroupsServicesConnector m_groupData = null;
|
private IGroupsServicesConnector m_groupData = null;
|
||||||
|
|
||||||
// Config Options
|
// Config Options
|
||||||
|
@ -162,6 +162,17 @@ namespace OpenSim.Groups
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_UserManagement = scene.RequestModuleInterface<IUserManagement>();
|
||||||
|
|
||||||
|
// No groups module, no groups messaging
|
||||||
|
if (m_UserManagement == null)
|
||||||
|
{
|
||||||
|
m_log.Error("[Groups.Messaging]: Could not get IUserManagement, GroupsMessagingModule is now disabled.");
|
||||||
|
RemoveRegion(scene);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (m_presenceService == null)
|
if (m_presenceService == null)
|
||||||
m_presenceService = scene.PresenceService;
|
m_presenceService = scene.PresenceService;
|
||||||
|
|
||||||
|
@ -392,9 +403,16 @@ namespace OpenSim.Groups
|
||||||
Scene aScene = m_sceneList[0];
|
Scene aScene = m_sceneList[0];
|
||||||
GridRegion regionOfOrigin = aScene.GridService.GetRegionByUUID(aScene.RegionInfo.ScopeID, regionID);
|
GridRegion regionOfOrigin = aScene.GridService.GetRegionByUUID(aScene.RegionInfo.ScopeID, regionID);
|
||||||
|
|
||||||
List<GroupMembersData> groupMembers = m_groupData.GetGroupMembers(new UUID(msg.fromAgentID).ToString(), GroupID);
|
// Let's find out who sent it
|
||||||
|
string requestingAgent = m_UserManagement.GetUserUUI(new UUID(msg.fromAgentID));
|
||||||
|
|
||||||
|
List<GroupMembersData> groupMembers = m_groupData.GetGroupMembers(requestingAgent, GroupID);
|
||||||
List<UUID> alreadySeen = new List<UUID>();
|
List<UUID> alreadySeen = new List<UUID>();
|
||||||
|
|
||||||
|
if (m_debugEnabled)
|
||||||
|
foreach (GroupMembersData m in groupMembers)
|
||||||
|
m_log.DebugFormat("[Groups.Messaging]: member {0}", m.AgentID);
|
||||||
|
|
||||||
foreach (Scene s in m_sceneList)
|
foreach (Scene s in m_sceneList)
|
||||||
{
|
{
|
||||||
s.ForEachScenePresence(sp =>
|
s.ForEachScenePresence(sp =>
|
||||||
|
|
Loading…
Reference in New Issue