aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppRoster.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-06-22 12:53:06 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-06-22 12:53:06 +0000
commitb02eb7eed6773d98733ad44a2092a3e6180112c9 (patch)
treed5ccda6c2b72cc812ade0394d31dc30cd63a0aab /source/QXmppRoster.cpp
parentb0aa9d8ce83ce54c5a6dcfda704fbbaa5b1bcc23 (diff)
downloadqxmpp-b02eb7eed6773d98733ad44a2092a3e6180112c9.tar.gz
when we receive a roster "set" iq (push), store updated entries
Diffstat (limited to 'source/QXmppRoster.cpp')
-rw-r--r--source/QXmppRoster.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/QXmppRoster.cpp b/source/QXmppRoster.cpp
index ffeea2a8..8b2a821d 100644
--- a/source/QXmppRoster.cpp
+++ b/source/QXmppRoster.cpp
@@ -103,6 +103,15 @@ void QXmppRoster::rosterIqReceived(const QXmppRosterIq& rosterIq)
returnIq.setId(rosterIq.id());
m_stream->sendPacket(returnIq);
+ // store updated entries and notify changes
+ QList<QXmppRosterIq::Item> items = rosterIq.items();
+ for (int i = 0; i < items.count(); i++)
+ {
+ QString bareJid = items.at(i).bareJid();
+ m_entries[bareJid] = items.at(i);
+ emit rosterChanged(bareJid);
+ }
+
// when contact subscribes user...user sends 'subscribed' presence
// then after recieving following iq user requests contact for subscription