summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/pseudoclients/operserv.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/modules/pseudoclients/operserv.cpp b/modules/pseudoclients/operserv.cpp
index 7b02a9745..f443aed95 100644
--- a/modules/pseudoclients/operserv.cpp
+++ b/modules/pseudoclients/operserv.cpp
@@ -97,7 +97,12 @@ class SQLineManager : public XLineManager
u->Kill(Config->GetClient("OperServ"), "Q-Lined: " + x->reason);
}
else if (x->mask[0] != '#' || IRCD->CanSQLineChannel)
+ {
IRCD->SendSQLine(u, x);
+ /* If it is an oper, assume they're walking it, otherwise kill for good measure */
+ if (u && !u->HasMode("OPER"))
+ u->Kill(Config->GetClient("OperServ"), "Q-Lined: " + x->reason);
+ }
}
void SendDel(XLine *x) anope_override