From 03e74cdee93dc0256b4802c76534f97d74022ae9 Mon Sep 17 00:00:00 2001 From: danieldg Date: Fri, 10 Apr 2009 21:43:01 +0000 Subject: Register the OnUserPreJoin hook, and check for null channel first git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11301 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_operchans.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/m_operchans.cpp b/src/modules/m_operchans.cpp index a0f30e730..50aa0aa87 100644 --- a/src/modules/m_operchans.cpp +++ b/src/modules/m_operchans.cpp @@ -56,13 +56,13 @@ class ModuleOperChans : public Module oc = new OperChans(ServerInstance); if (!ServerInstance->Modes->AddMode(oc)) throw ModuleException("Could not add new modes!"); - Implementation eventlist[] = { I_OnCheckBan }; - ServerInstance->Modules->Attach(eventlist, this, 1); + Implementation eventlist[] = { I_OnCheckBan, I_OnUserPreJoin }; + ServerInstance->Modules->Attach(eventlist, this, 2); } virtual int OnUserPreJoin(User* user, Channel* chan, const char* cname, std::string &privs, const std::string &keygiven) { - if (chan->IsModeSet('O') && !IS_OPER(user)) + if (chan && chan->IsModeSet('O') && !IS_OPER(user)) { user->WriteNumeric(ERR_CANTJOINOPERSONLY, "%s %s :Only IRC operators may join %s (+O is set)", user->nick.c_str(), chan->name.c_str(), chan->name.c_str()); -- cgit v1.2.3