summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2010-10-28 07:33:43 (GMT)
committerKevin Smith <git@kismith.co.uk>2010-10-28 07:33:43 (GMT)
commitb0b175c73f8ce9f693adeb1137a6a50a9ec3e101 (patch)
tree370033076c0509e360d259ab87969f174d596e63 /Swift/Controllers/RosterController.cpp
parent6ff7ff9f1f028ce21b58e19367b4710ba155d6bd (diff)
downloadswift-b0b175c73f8ce9f693adeb1137a6a50a9ec3e101.zip
swift-b0b175c73f8ce9f693adeb1137a6a50a9ec3e101.tar.bz2
Correctly mark roster items with the highest priority status.
Resolves: #668
Diffstat (limited to 'Swift/Controllers/RosterController.cpp')
-rw-r--r--Swift/Controllers/RosterController.cpp11
1 files changed, 1 insertions, 10 deletions
diff --git a/Swift/Controllers/RosterController.cpp b/Swift/Controllers/RosterController.cpp
index 2f6c82c..1ce3266 100644
--- a/Swift/Controllers/RosterController.cpp
+++ b/Swift/Controllers/RosterController.cpp
@@ -235,16 +235,7 @@ void RosterController::handleIncomingPresence(Presence::ref newPresence) {
if (newPresence->getType() == Presence::Error) {
return;
}
- Presence::ref appliedPresence(newPresence);
- JID newJID(appliedPresence->getFrom());
- Presence::ref highestPresence = presenceOracle_->getHighestPriorityPresence(appliedPresence->getFrom().toBare());
- JID highestJID(highestPresence->getFrom());
- bool highestPriority = (newJID == highestJID || highestPresence->getType() == Presence::Unavailable);
- if (!highestPriority) {
- /* Update in case there are full-JID roster entries.*/
- roster_->applyOnItems(SetPresence(appliedPresence, JID::WithResource));
- }
- roster_->applyOnItems(SetPresence(highestPresence));
+ roster_->applyOnItems(SetPresence(newPresence));
}
void RosterController::handleSubscriptionRequest(const JID& jid, const String& message) {