diff options
| author | Kevin Smith <git@kismith.co.uk> | 2010-10-04 16:25:19 (GMT) | 
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2010-10-04 16:25:19 (GMT) | 
| commit | 8520b85226d8486fe4069a3f5eb9cb340514866d (patch) | |
| tree | a50e06cc2036830f785d50dcbb362a42c3d3e4fe | |
| parent | 8ca471e7304e813fa55ebf512a8f30f146fe6b41 (diff) | |
| download | swift-8520b85226d8486fe4069a3f5eb9cb340514866d.zip swift-8520b85226d8486fe4069a3f5eb9cb340514866d.tar.bz2 | |
Re-apply the contact's presence after roster changes.
Resolves: #578
| -rw-r--r-- | Swift/Controllers/RosterController.cpp | 4 | ||||
| -rw-r--r-- | Swift/QtUI/QtSetGroupsDialog.cpp | 2 | 
2 files changed, 5 insertions, 1 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) { diff --git a/Swift/QtUI/QtSetGroupsDialog.cpp b/Swift/QtUI/QtSetGroupsDialog.cpp index ad24122..82a71a1 100644 --- a/Swift/QtUI/QtSetGroupsDialog.cpp +++ b/Swift/QtUI/QtSetGroupsDialog.cpp @@ -69,7 +69,7 @@ boost::shared_ptr<RegroupRosterItemUIEvent> QtSetGroupsDialog::getRegroupEvent()  			if (pair.first == "Contacts") {  				wantsContacts = true;  			} -			if (!existing) { +			if (!existing && pair.first != "Contacts") {  				addedGroups.push_back(pair.first);  			}  		} else { | 
 Swift
 Swift