diff --git a/src/rostermanager.cpp b/src/rostermanager.cpp index 0f89cfb12347265cf9057bca640c2f32f8540898..3d7534abf0942abeca77e5d01a5fc3fbdaa32925 100644 --- a/src/rostermanager.cpp +++ b/src/rostermanager.cpp @@ -515,7 +515,7 @@ void RosterManager::setStorageBackend(StorageBackend *storageBackend) { if (m_rosterStorage || !storageBackend) { return; } - m_rosterStorage = new RosterStorage(m_user, storageBackend); + RosterStorage *storage = new RosterStorage(m_user, storageBackend); std::list roster; storageBackend->getBuddies(m_user->getUserInfo().id, roster); @@ -526,6 +526,8 @@ void RosterManager::setStorageBackend(StorageBackend *storageBackend) { m_buddies[buddy->getName()] = buddy; onBuddySet(buddy); } + + m_rosterStorage = storage; } Swift::RosterPayload::ref RosterManager::generateRosterPayload() {