Group chat: prevent a situation where dupe IMs could occur.
							parent
							
								
									1d4bf06fe7
								
							
						
					
					
						commit
						1b94de8e58
					
				|  | @ -405,7 +405,6 @@ namespace OpenSim.Groups | ||||||
|                 GridRegion regionOfOrigin = aScene.GridService.GetRegionByUUID(aScene.RegionInfo.ScopeID, regionID); |                 GridRegion regionOfOrigin = aScene.GridService.GetRegionByUUID(aScene.RegionInfo.ScopeID, regionID); | ||||||
| 
 | 
 | ||||||
|                 List<GroupMembersData> groupMembers = m_groupData.GetGroupMembers(UUID.Zero.ToString(), GroupID); |                 List<GroupMembersData> groupMembers = m_groupData.GetGroupMembers(UUID.Zero.ToString(), GroupID); | ||||||
|                 List<UUID> alreadySeen = new List<UUID>(); |  | ||||||
| 
 | 
 | ||||||
|                 //if (m_debugEnabled) |                 //if (m_debugEnabled) | ||||||
|                 //    foreach (GroupMembersData m in groupMembers) |                 //    foreach (GroupMembersData m in groupMembers) | ||||||
|  | @ -415,15 +414,10 @@ namespace OpenSim.Groups | ||||||
|                 { |                 { | ||||||
|                     s.ForEachScenePresence(sp => |                     s.ForEachScenePresence(sp => | ||||||
|                         { |                         { | ||||||
|                             // We need this, because we are searching through all |                             // If we got this via grid messaging, it's because the caller thinks | ||||||
|                             // SPs, both root and children |                             // that the root agent is here. We should only send the IM to root agents. | ||||||
|                             if (alreadySeen.Contains(sp.UUID)) |                             if (sp.IsChildAgent) | ||||||
|                             { |  | ||||||
|                                 if (m_debugEnabled) |  | ||||||
|                                     m_log.DebugFormat("[Groups.Messaging]: skipping agent {0} because we've already seen it", sp.UUID); |  | ||||||
|                                 return; |                                 return; | ||||||
|                             } |  | ||||||
|                             alreadySeen.Add(sp.UUID); |  | ||||||
| 
 | 
 | ||||||
|                             GroupMembersData m = groupMembers.Find(gmd => |                             GroupMembersData m = groupMembers.Find(gmd => | ||||||
|                                 { |                                 { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Diva Canto
						Diva Canto