Fixed 3 crashes in gateway mode
This commit is contained in:
parent
ecbfbd5b50
commit
751eaaaf32
2 changed files with 9 additions and 6 deletions
|
@ -151,6 +151,9 @@ void RosterManager::sendRIE() {
|
|||
Swift::RosterItemExchangePayload::ref payload = Swift::RosterItemExchangePayload::ref(new Swift::RosterItemExchangePayload());
|
||||
for (std::map<std::string, Buddy *>::const_iterator it = m_buddies.begin(); it != m_buddies.end(); it++) {
|
||||
Buddy *buddy = (*it).second;
|
||||
if (!buddy) {
|
||||
continue;
|
||||
}
|
||||
Swift::RosterItemExchangePayload::Item item;
|
||||
item.setJID(buddy->getJID().toBare());
|
||||
item.setName(buddy->getAlias());
|
||||
|
@ -217,7 +220,7 @@ void RosterManager::handleSubscription(Swift::Presence::ref presence) {
|
|||
}
|
||||
else {
|
||||
Swift::Presence::ref response = Swift::Presence::create();
|
||||
Swift::Presence::ref presence;
|
||||
Swift::Presence::ref currentPresence;
|
||||
response->setTo(presence->getFrom());
|
||||
response->setFrom(presence->getTo());
|
||||
|
||||
|
@ -227,10 +230,10 @@ void RosterManager::handleSubscription(Swift::Presence::ref presence) {
|
|||
// buddy is already there, so nothing to do, just answer
|
||||
case Swift::Presence::Subscribe:
|
||||
response->setType(Swift::Presence::Subscribed);
|
||||
presence = buddy->generatePresenceStanza(255);
|
||||
if (presence) {
|
||||
presence->setTo(presence->getFrom());
|
||||
m_component->getStanzaChannel()->sendPresence(presence);
|
||||
currentPresence = buddy->generatePresenceStanza(255);
|
||||
if (currentPresence) {
|
||||
currentPresence->setTo(presence->getFrom());
|
||||
m_component->getStanzaChannel()->sendPresence(currentPresence);
|
||||
}
|
||||
break;
|
||||
// remove buddy
|
||||
|
|
|
@ -159,7 +159,7 @@ void Component::setBuddyFeatures(std::list<std::string> &features) {
|
|||
}
|
||||
|
||||
void Component::start() {
|
||||
if (m_component) {
|
||||
if (m_component && !m_component->isAvailable()) {
|
||||
LOG4CXX_INFO(logger, "Connecting XMPP server " << CONFIG_STRING(m_config, "service.server") << " port " << CONFIG_INT(m_config, "service.port"));
|
||||
m_reconnectCount++;
|
||||
m_component->connect(CONFIG_STRING(m_config, "service.server"), CONFIG_INT(m_config, "service.port"));
|
||||
|
|
Loading…
Add table
Reference in a new issue