Group chat: guard against duplicate sends
parent
33b54807a1
commit
1d4bf06fe7
|
@ -297,6 +297,10 @@ namespace OpenSim.Groups
|
||||||
if (member.AgentID.Guid == im.fromAgentID)
|
if (member.AgentID.Guid == im.fromAgentID)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (clientsAlreadySent.Contains(member.AgentID))
|
||||||
|
continue;
|
||||||
|
clientsAlreadySent.Add(member.AgentID);
|
||||||
|
|
||||||
if (hasAgentDroppedGroupChatSession(member.AgentID.ToString(), groupID))
|
if (hasAgentDroppedGroupChatSession(member.AgentID.ToString(), groupID))
|
||||||
{
|
{
|
||||||
// Don't deliver messages to people who have dropped this session
|
// Don't deliver messages to people who have dropped this session
|
||||||
|
@ -336,12 +340,9 @@ namespace OpenSim.Groups
|
||||||
// Deliver locally, directly
|
// Deliver locally, directly
|
||||||
if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: Passing to ProcessMessageFromGroupSession to deliver to {0} locally", client.Name);
|
if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: Passing to ProcessMessageFromGroupSession to deliver to {0} locally", client.Name);
|
||||||
|
|
||||||
if (clientsAlreadySent.Contains(member.AgentID))
|
|
||||||
continue;
|
|
||||||
clientsAlreadySent.Add(member.AgentID);
|
|
||||||
|
|
||||||
ProcessMessageFromGroupSession(im);
|
ProcessMessageFromGroupSession(im);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_debugEnabled)
|
if (m_debugEnabled)
|
||||||
|
|
Loading…
Reference in New Issue