summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-05-06 22:18:38 -0400
committerAdam <Adam@anope.org>2013-05-06 22:18:38 -0400
commit6578829fa6d278cae0307676f29ab4e76d2d2518 (patch)
tree48b177005721b02b95a815f72cac0363a3bf00e0 /modules
parentef06226521d27de88a49a84d8224568fec7624c3 (diff)
Use I_OnUserQuit for os_session because I_OnPreUserLogoff gets called too late, after the users server can be gone. Fix a couple other small things
Diffstat (limited to 'modules')
-rw-r--r--modules/commands/os_session.cpp4
-rw-r--r--modules/protocol/inspircd20.cpp3
2 files changed, 4 insertions, 3 deletions
diff --git a/modules/commands/os_session.cpp b/modules/commands/os_session.cpp
index 1e0e7c59c..18393daec 100644
--- a/modules/commands/os_session.cpp
+++ b/modules/commands/os_session.cpp
@@ -640,7 +640,7 @@ class OSSession : public Module
{
this->SetPermanent(true);
- Implementation i[] = { I_OnReload, I_OnUserConnect, I_OnPreUserLogoff };
+ Implementation i[] = { I_OnReload, I_OnUserConnect, I_OnUserQuit };
ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation));
ModuleManager::SetPriority(this, PRIORITY_FIRST);
}
@@ -734,7 +734,7 @@ class OSSession : public Module
catch (const SocketException &) { }
}
- void OnPreUserLogoff(User *u) anope_override
+ void OnUserQuit(User *u, const Anope::string &msg) anope_override
{
if (!session_limit || !u->server || u->server->IsULined())
return;
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp
index 3998486e3..5f86b151e 100644
--- a/modules/protocol/inspircd20.cpp
+++ b/modules/protocol/inspircd20.cpp
@@ -815,7 +815,8 @@ class ProtoInspIRCd : public Module
void OnChannelCreate(Channel *c) anope_override
{
- this->OnChanRegistered(c->ci);
+ if (c->ci)
+ this->OnChanRegistered(c->ci);
}
void OnChanRegistered(ChannelInfo *ci) anope_override