summaryrefslogtreecommitdiff
path: root/src/regchannel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/regchannel.cpp')
-rw-r--r--src/regchannel.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/regchannel.cpp b/src/regchannel.cpp
index d214eb6bd..8ee823e33 100644
--- a/src/regchannel.cpp
+++ b/src/regchannel.cpp
@@ -603,6 +603,12 @@ bool ChannelInfo::CheckKick(User *user)
* as this will likely lead to kick/rejoin floods. ~ Viper */
if (user->server->IsULined())
return false;
+
+ if (!do_kick && user->IsProtected())
+ return false;
+
+ if (ircd->chansqline && SQLineManager::Check(this->c))
+ do_kick = true;
if (!is_oper(user) && (this->HasFlag(CI_SUSPENDED) || this->HasFlag(CI_FORBIDDEN)))
{
@@ -612,9 +618,6 @@ bool ChannelInfo::CheckKick(User *user)
do_kick = true;
}
- if (!do_kick && user->IsProtected())
- return false;
-
if (!do_kick && ModeManager::FindChannelModeByName(CMODE_EXCEPT) && is_excepted(this, user) == 1)
return false;