diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 9e16691f..7074306e 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -72,6 +72,9 @@ UserManager::~UserManager(){ void UserManager::addUser(User *user) { m_users[user->getJID().toBare().toString()] = user; + if (m_storageBackend) { + m_storageBackend->setUserOnline(user->getUserInfo().id, true); + } onUserCreated(user); } @@ -97,6 +100,10 @@ void UserManager::removeUser(User *user) { disconnectUser(user->getJID()); } + if (m_storageBackend) { + m_storageBackend->setUserOnline(user->getUserInfo().id, false); + } + onUserDestroyed(user); delete user; #ifndef WIN32