From 664ca1bbf2517b0cb46ef85167facbb981a78c5c Mon Sep 17 00:00:00 2001 From: jantje_85 Date: Sun, 30 Aug 2009 17:37:35 +0000 Subject: 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 --- src/chanserv.c | 6 +++++- src/operserv.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src') 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 { -- cgit