diff options
author | jantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-08-30 17:37:35 +0000 |
---|---|---|
committer | jantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-08-30 17:37:35 +0000 |
commit | 664ca1bbf2517b0cb46ef85167facbb981a78c5c (patch) | |
tree | f61e47840cca0d711aac4c512b15aec6cb822d32 /src | |
parent | efa7c81ca8494e310e35d77bfb9b2aaff9eba484 (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.c | 6 | ||||
-rw-r--r-- | src/operserv.c | 2 |
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 { |