diff options
| author | 2014-01-25 12:15:01 +0100 | |
|---|---|---|
| committer | 2014-01-25 12:15:01 +0100 | |
| commit | 48869b38e938de4d8dd4cdff486b10348e81f7b6 (patch) | |
| tree | 1f358eb6439bcf9f9b78ff8f1a7f426adfd5f5d1 /src/users.cpp | |
| parent | Convert InviteBase::invites to an intrusively linked list (diff) | |
| download | inspircd++-48869b38e938de4d8dd4cdff486b10348e81f7b6.tar.gz inspircd++-48869b38e938de4d8dd4cdff486b10348e81f7b6.tar.bz2 inspircd++-48869b38e938de4d8dd4cdff486b10348e81f7b6.zip | |
Destroy Memberships of a quitting user in QuitUser() instead of in cull()
Diffstat (limited to 'src/users.cpp')
| -rw-r--r-- | src/users.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/users.cpp b/src/users.cpp index 32ae87389..2458e1565 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -325,7 +325,6 @@ CullResult User::cull() { if (!quitting) ServerInstance->Users->QuitUser(this, "Culled without QuitUser"); - PurgeEmptyChannels(); if (client_sa.sa.sa_family != AF_UNSPEC) ServerInstance->Users->RemoveCloneCounts(this); @@ -974,7 +973,7 @@ void User::WriteCommonRaw(const std::string &line, bool include_self) for (UserMembList::const_iterator i = ulist->begin(); i != ulist->end(); i++) { LocalUser* u = IS_LOCAL(i->first); - if (u && !u->quitting && u->already_sent != LocalUser::already_sent_id) + if (u && u->already_sent != LocalUser::already_sent_id) { u->already_sent = LocalUser::already_sent_id; u->Write(line); @@ -1014,7 +1013,7 @@ void User::WriteCommonQuit(const std::string &normal_text, const std::string &op for (UserMembList::const_iterator i = ulist->begin(); i != ulist->end(); i++) { LocalUser* u = IS_LOCAL(i->first); - if (u && !u->quitting && (u->already_sent != uniq_id)) + if (u && (u->already_sent != uniq_id)) { u->already_sent = uniq_id; u->Write(u->IsOper() ? operMessage : normalMessage); |
