From 26de1d9f939e21fd93db8484ad0eefd2d393771a Mon Sep 17 00:00:00 2001 From: DukePyrolator Date: Fri, 25 Mar 2011 17:42:13 +0100 Subject: [PATCH] 1. when dropping nicks, dont add the dropped nick as successor for a channel 2. set -r on dropped channels --- src/chanserv.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/chanserv.cpp b/src/chanserv.cpp index 6a5d92ad0..e519cb8b2 100644 --- a/src/chanserv.cpp +++ b/src/chanserv.cpp @@ -433,7 +433,7 @@ void cs_remove_nick(NickCore *nc) { ChanAccess *ca = ci->GetAccess(j); - if (!ca->nc || (!ca->nc->IsServicesOper() && Config->CSMaxReg && ca->nc->channelcount >= Config->CSMaxReg)) + if (!ca->nc || (!ca->nc->IsServicesOper() && Config->CSMaxReg && ca->nc->channelcount >= Config->CSMaxReg) || (ca->nc == nc)) continue; if (!highest || ca->level > highest->level) highest = ca; @@ -457,7 +457,7 @@ void cs_remove_nick(NickCore *nc) { /* Maybe move this to delchan() ? */ if (ci->c && ci->c->HasMode(CMODE_REGISTERED)) - ci->c->RemoveMode(NULL, CMODE_REGISTERED); + ci->c->RemoveMode(NULL, CMODE_REGISTERED, true); } delete ci;