]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/usermanager.cpp
Erase local users from UserManager::local_list in QuitUser()
[user/henk/code/inspircd.git] / src / usermanager.cpp
index 37f64b9d2904d6d3b701f12c67bca2f721316a1a..9c04c7889874830e683ea42a4d4649329f6083e4 100644 (file)
@@ -193,6 +193,7 @@ void UserManager::QuitUser(User* user, const std::string& quitreason, const std:
 
                if (lu->registered == REG_ALL)
                        ServerInstance->SNO->WriteToSnoMask('q',"Client exiting: %s (%s) [%s]", user->GetFullRealHost().c_str(), user->GetIPString().c_str(), operreason->c_str());
+               local_users.erase(lu);
        }
 
        if (!clientlist.erase(user->nick))
@@ -287,9 +288,6 @@ void UserManager::DoBackgroundUserStuff()
        {
                LocalUser* curr = *i;
 
-               if (curr->quitting)
-                       continue;
-
                if (curr->CommandFloodPenalty || curr->eh.getSendQSize())
                {
                        unsigned int rate = curr->MyClass->GetCommandRate();