summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2010-10-04 16:25:19 (GMT)
committerKevin Smith <git@kismith.co.uk>2010-10-04 16:25:19 (GMT)
commit8520b85226d8486fe4069a3f5eb9cb340514866d (patch)
treea50e06cc2036830f785d50dcbb362a42c3d3e4fe /Swift/Controllers
parent8ca471e7304e813fa55ebf512a8f30f146fe6b41 (diff)
downloadswift-contrib-8520b85226d8486fe4069a3f5eb9cb340514866d.zip
swift-contrib-8520b85226d8486fe4069a3f5eb9cb340514866d.tar.bz2
Re-apply the contact's presence after roster changes.
Resolves: #578
Diffstat (limited to 'Swift/Controllers')
-rw-r--r--Swift/Controllers/RosterController.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Swift/Controllers/RosterController.cpp b/Swift/Controllers/RosterController.cpp
index 96056ca..48a3aa9 100644
--- a/Swift/Controllers/RosterController.cpp
+++ b/Swift/Controllers/RosterController.cpp
@@ -146,6 +146,10 @@ void RosterController::handleOnJIDUpdated(const JID& jid, const String& oldName,
roster_->removeContactFromGroup(jid, group);
}
}
+ Presence::ref presence(presenceOracle_->getHighestPriorityPresence(jid));
+ if (presence) {
+ roster_->applyOnItems(SetPresence(presence));
+ }
}
void RosterController::handleUIEvent(boost::shared_ptr<UIEvent> event) {