summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-30 17:37:35 +0000
committerjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-30 17:37:35 +0000
commit664ca1bbf2517b0cb46ef85167facbb981a78c5c (patch)
treef61e47840cca0d711aac4c512b15aec6cb822d32 /src
parentefa7c81ca8494e310e35d77bfb9b2aaff9eba484 (diff)
Fixed MLOCK locked mode removal getting priority over DEFCON locked
mode setting. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2485 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/chanserv.c6
-rw-r--r--src/operserv.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/chanserv.c b/src/chanserv.c
index 5c70edfb9..da9928aeb 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -1202,8 +1202,12 @@ void check_modes(Channel * c)
end--;
modes = 0;
- if (ci)
+ if (ci) {
modes = c->mode & ci->mlock_off;
+ /* Make sure we don't remove a mode just set by defcon.. ~ Viper */
+ if (DefConModesSet)
+ modes &= ~(modes & DefConModesOn);
+ }
if (DefConModesSet)
modes |= c->mode & DefConModesOff;
diff --git a/src/operserv.c b/src/operserv.c
index 46eb4f325..9ef747b88 100644
--- a/src/operserv.c
+++ b/src/operserv.c
@@ -1629,8 +1629,8 @@ void runDefCon(void)
if (DefConChanModes && !DefConModesSet) {
if (DefConChanModes[0] == '+' || DefConChanModes[0] == '-') {
alog("DEFCON: setting %s on all chan's", DefConChanModes);
- do_mass_mode(DefConChanModes);
DefConModesSet = 1;
+ do_mass_mode(DefConChanModes);
}
}
} else {