diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-10-20 04:40:43 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-10-20 04:40:43 +0000 |
commit | 9b8c61e7e73b6bac60adeb3aa4f4d8127b813558 (patch) | |
tree | 307e9fff958533d9cff52c1d1b5546d667b645fa | |
parent | fb58653c413b276bc6b08cd9c72661c117a8bf89 (diff) |
Fix interaction of m_permchannels post-cull and channel empty-by-quit that causes leaked channels
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11933 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/modules/m_permchannels.cpp | 1 | ||||
-rw-r--r-- | src/users.cpp | 3 |
2 files changed, 1 insertions, 3 deletions
diff --git a/src/modules/m_permchannels.cpp b/src/modules/m_permchannels.cpp index 3f10bbeb8..53004ff79 100644 --- a/src/modules/m_permchannels.cpp +++ b/src/modules/m_permchannels.cpp @@ -207,6 +207,7 @@ public: else iter++; } + ServerInstance->Modes->DelMode(&p); return Module::cull(); } diff --git a/src/users.cpp b/src/users.cpp index 2db223edb..fbb2309c3 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -1722,13 +1722,10 @@ ConnectClass* User::GetClass() void User::PurgeEmptyChannels() { - std::vector<Channel*> to_delete; - // firstly decrement the count on each channel for (UCListIter f = this->chans.begin(); f != this->chans.end(); f++) { Channel* c = *f; - c->RemoveAllPrefixes(this); c->DelUser(this); } |