diff options
author | Diva Canto | 2013-07-28 15:59:24 -0700 |
---|---|---|
committer | Diva Canto | 2013-07-28 15:59:24 -0700 |
commit | 698b2135eed747c24e3325cc7e5a7bae513a2c25 (patch) | |
tree | 287b3beeb056a1c3156b438681d738ee94fab608 /OpenSim/Addons | |
parent | Removed commented lines and useless debug message (diff) | |
download | opensim-SC-698b2135eed747c24e3325cc7e5a7bae513a2c25.zip opensim-SC-698b2135eed747c24e3325cc7e5a7bae513a2c25.tar.gz opensim-SC-698b2135eed747c24e3325cc7e5a7bae513a2c25.tar.bz2 opensim-SC-698b2135eed747c24e3325cc7e5a7bae513a2c25.tar.xz |
Fix an issue where HG members of groups weren't seeing the entire membership for group chat.
Diffstat (limited to 'OpenSim/Addons')
-rw-r--r-- | OpenSim/Addons/Groups/GroupsMessagingModule.cs | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/OpenSim/Addons/Groups/GroupsMessagingModule.cs b/OpenSim/Addons/Groups/GroupsMessagingModule.cs index ce4f597..3cece77 100644 --- a/OpenSim/Addons/Groups/GroupsMessagingModule.cs +++ b/OpenSim/Addons/Groups/GroupsMessagingModule.cs | |||
@@ -52,7 +52,7 @@ namespace OpenSim.Groups | |||
52 | private IPresenceService m_presenceService; | 52 | private IPresenceService m_presenceService; |
53 | 53 | ||
54 | private IMessageTransferModule m_msgTransferModule = null; | 54 | private IMessageTransferModule m_msgTransferModule = null; |
55 | 55 | private IUserManagement m_UserManagement = null; | |
56 | private IGroupsServicesConnector m_groupData = null; | 56 | private IGroupsServicesConnector m_groupData = null; |
57 | 57 | ||
58 | // Config Options | 58 | // Config Options |
@@ -162,6 +162,17 @@ namespace OpenSim.Groups | |||
162 | return; | 162 | return; |
163 | } | 163 | } |
164 | 164 | ||
165 | m_UserManagement = scene.RequestModuleInterface<IUserManagement>(); | ||
166 | |||
167 | // No groups module, no groups messaging | ||
168 | if (m_UserManagement == null) | ||
169 | { | ||
170 | m_log.Error("[Groups.Messaging]: Could not get IUserManagement, GroupsMessagingModule is now disabled."); | ||
171 | RemoveRegion(scene); | ||
172 | return; | ||
173 | } | ||
174 | |||
175 | |||
165 | if (m_presenceService == null) | 176 | if (m_presenceService == null) |
166 | m_presenceService = scene.PresenceService; | 177 | m_presenceService = scene.PresenceService; |
167 | 178 | ||
@@ -392,9 +403,16 @@ namespace OpenSim.Groups | |||
392 | Scene aScene = m_sceneList[0]; | 403 | Scene aScene = m_sceneList[0]; |
393 | GridRegion regionOfOrigin = aScene.GridService.GetRegionByUUID(aScene.RegionInfo.ScopeID, regionID); | 404 | GridRegion regionOfOrigin = aScene.GridService.GetRegionByUUID(aScene.RegionInfo.ScopeID, regionID); |
394 | 405 | ||
395 | List<GroupMembersData> groupMembers = m_groupData.GetGroupMembers(new UUID(msg.fromAgentID).ToString(), GroupID); | 406 | // Let's find out who sent it |
407 | string requestingAgent = m_UserManagement.GetUserUUI(new UUID(msg.fromAgentID)); | ||
408 | |||
409 | List<GroupMembersData> groupMembers = m_groupData.GetGroupMembers(requestingAgent, GroupID); | ||
396 | List<UUID> alreadySeen = new List<UUID>(); | 410 | List<UUID> alreadySeen = new List<UUID>(); |
397 | 411 | ||
412 | if (m_debugEnabled) | ||
413 | foreach (GroupMembersData m in groupMembers) | ||
414 | m_log.DebugFormat("[Groups.Messaging]: member {0}", m.AgentID); | ||
415 | |||
398 | foreach (Scene s in m_sceneList) | 416 | foreach (Scene s in m_sceneList) |
399 | { | 417 | { |
400 | s.ForEachScenePresence(sp => | 418 | s.ForEachScenePresence(sp => |