diff options
author | DukePyrolator <DukePyrolator@anope.org> | 2011-03-25 17:42:13 +0100 |
---|---|---|
committer | DukePyrolator <DukePyrolator@anope.org> | 2011-03-25 17:42:13 +0100 |
commit | 26de1d9f939e21fd93db8484ad0eefd2d393771a (patch) | |
tree | eb9e1a6b6bfa6085dc0bf8e36f9164db99548550 | |
parent | 451fb82e544fda19888c4d5bc250431a3197cef6 (diff) |
1. when dropping nicks, dont add the dropped nick as successor for a channel 2. set -r on dropped channels
-rw-r--r-- | src/chanserv.cpp | 4 |
1 files 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; |