prevent reinvite to some group we left if DM messages got reprocessed somehow.

also, newgroupinvite to ourselves may be used to undo leavegroup.
This commit is contained in:
Miguel Freitas 2015-04-25 18:45:28 -03:00
parent 07d5b5ffb6
commit 2adb9a0d7e

View File

@ -1198,7 +1198,7 @@ void registerNewGroup(const string &privKey, const string &desc, const string &m
} else { } else {
group.m_members.insert(member); group.m_members.insert(member);
if( m_users.count(member) ) { if( m_users.count(member) && !m_users.at(member).m_ignoreGroups.count(groupAlias) ) {
StoredDirectMsg stoDM; StoredDirectMsg stoDM;
stoDM.m_fromMe = false; stoDM.m_fromMe = false;
stoDM.m_from = invitedBy; stoDM.m_from = invitedBy;
@ -3486,6 +3486,8 @@ Value newgroupinvite(const Array& params, bool fHelp)
LOCK(cs_twister); LOCK(cs_twister);
groupInvite["desc"] = m_groups.at(strGroupAlias).m_description; groupInvite["desc"] = m_groups.at(strGroupAlias).m_description;
groupInvite["key"] = m_groups.at(strGroupAlias).m_privKey; groupInvite["key"] = m_groups.at(strGroupAlias).m_privKey;
if( m_users.count(strMember) )
m_users[strMember].m_ignoreGroups.erase(strGroupAlias);
} }
entry payloadMsg; entry payloadMsg;
payloadMsg["group_invite"] = groupInvite; payloadMsg["group_invite"] = groupInvite;