From 9b8c61e7e73b6bac60adeb3aa4f4d8127b813558 Mon Sep 17 00:00:00 2001 From: danieldg Date: Tue, 20 Oct 2009 04:40:43 +0000 Subject: 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 --- src/modules/m_permchannels.cpp | 1 + src/users.cpp | 3 --- 2 files changed, 1 insertion(+), 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 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); } -- cgit v1.2.3