diff --git a/src/rostermanager.cpp b/src/rostermanager.cpp index c965c621f6986dd5110edbb485e81acf234e14db..ea40db790c5a27bc1a0facd8631af772b29c3e20 100644 --- a/src/rostermanager.cpp +++ b/src/rostermanager.cpp @@ -524,9 +524,11 @@ void RosterManager::setStorageBackend(StorageBackend *storageBackend) { for (std::list::const_iterator it = roster.begin(); it != roster.end(); it++) { Buddy *buddy = m_component->getFactory()->createBuddy(this, *it); - LOG4CXX_INFO(logger, m_user->getJID().toString() << ": Adding cached buddy " << buddy->getName() << " fom database"); - m_buddies[buddy->getName()] = buddy; - onBuddySet(buddy); + if (buddy) { + LOG4CXX_INFO(logger, m_user->getJID().toString() << ": Adding cached buddy " << buddy->getName() << " fom database"); + m_buddies[buddy->getName()] = buddy; + onBuddySet(buddy); + } } m_rosterStorage = storage;