diff options
Diffstat (limited to 'Swiften/Roster/XMPPRoster.cpp')
| -rw-r--r-- | Swiften/Roster/XMPPRoster.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Swiften/Roster/XMPPRoster.cpp b/Swiften/Roster/XMPPRoster.cpp index 9661171..a5cccaf 100644 --- a/Swiften/Roster/XMPPRoster.cpp +++ b/Swiften/Roster/XMPPRoster.cpp @@ -5,15 +5,18 @@ namespace Swift { void XMPPRoster::addContact(const JID& jid, const String& name, const std::vector<String>& groups) { JID bareJID(jid.toBare()); bool exists = containsJID(bareJID); if (exists) { entries_.erase(bareJID); } + String oldName = getNameForJID(bareJID); + std::vector<String> oldGroups = entries_[bareJID].second; entries_[bareJID] = std::pair<String, std::vector<String> >(name, groups); if (exists) { - onJIDUpdated(bareJID); + + onJIDUpdated(bareJID, oldName, oldGroups); } else { onJIDAdded(bareJID); } } void XMPPRoster::removeContact(const JID& jid) { |
Swift