Make Spectrum2 send full roster after receiving empty RemoteRoster-Payload

This commit is contained in:
Darchigh 2013-01-18 17:42:19 +01:00
parent b9a8231796
commit 02df69b831

View file

@ -280,6 +280,15 @@ void RosterManager::handleRemoteRosterResponse(boost::shared_ptr<Swift::RosterPa
LOG4CXX_INFO(logger, m_user->getJID().toString() << ": This server supports remote roster protoXEP");
m_supportRemoteRoster = true;
//If we receive empty RosterPayload initiate full RosterPush
if(payload->getItems().empty()){
LOG4CXX_INFO(logger, "Received empty Roster. Pushing full Roster.");
for(std::map<std::string, Buddy *, std::less<std::string>, boost::pool_allocator< std::pair<std::string, Buddy *> > >::const_iterator c_it = m_buddies.begin();
c_it != m_buddies.end(); c_it++) {
sendBuddyRosterPush(c_it->second);
}
}
return;
BOOST_FOREACH(const Swift::RosterItemPayload &item, payload->getItems()) {