summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/cs_set.c2
-rw-r--r--src/core/os_defcon.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/core/cs_set.c b/src/core/cs_set.c
index fa0a21d68..40cdd287d 100644
--- a/src/core/cs_set.c
+++ b/src/core/cs_set.c
@@ -202,7 +202,7 @@ class CommandCSSet : public Command
if ((cm = ModeManager::FindChannelModeByChar(mode)))
{
- if (!cm->CanSet(u))
+ if (cm->Type == MODE_STATUS || cm->Type == MODE_LIST || !cm->CanSet(u))
{
notice_lang(Config.s_ChanServ, u, CHAN_SET_MLOCK_IMPOSSIBLE_CHAR, mode);
}
diff --git a/src/core/os_defcon.c b/src/core/os_defcon.c
index 5cdb38b9b..326149bcb 100644
--- a/src/core/os_defcon.c
+++ b/src/core/os_defcon.c
@@ -433,7 +433,7 @@ void defconParseModeString(const char *str)
if ((cm = ModeManager::FindChannelModeByChar(mode)))
{
- if (!cm->CanSet(NULL))
+ if (cm->Type == MODE_STATUS || cm->Type == MODE_LIST || !cm->CanSet(NULL))
{
alog("DefConChanModes mode character '%c' cannot be locked", mode);
continue;