summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDukePyrolator <DukePyrolator@anope.org>2011-03-25 17:42:13 +0100
committerDukePyrolator <DukePyrolator@anope.org>2011-03-25 17:42:13 +0100
commit26de1d9f939e21fd93db8484ad0eefd2d393771a (patch)
treeeb9e1a6b6bfa6085dc0bf8e36f9164db99548550
parent451fb82e544fda19888c4d5bc250431a3197cef6 (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.cpp4
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;