From 829ef1b7bd957425e4c1fd03abad404acfeb36ba Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 5 Oct 2014 19:53:48 -0400 Subject: Clear pending collided state on release, fixes colliding users using recover into enforcers --- modules/commands/ns_recover.cpp | 3 ++- modules/pseudoclients/nickserv.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/commands/ns_recover.cpp b/modules/commands/ns_recover.cpp index f4945a639..a412ad96a 100644 --- a/modules/commands/ns_recover.cpp +++ b/modules/commands/ns_recover.cpp @@ -95,7 +95,8 @@ class NSRecoverRequest : public IdentifyRequest if (IRCD->CanSVSNick) { /* If we can svsnick then release our hold and svsnick the user using the command */ - nickserv->Release(na); + if (nickserv) + nickserv->Release(na); IRCD->SendForceNickChange(source.GetUser(), GetAccount(), Anope::CurTime); source.Reply(_("You have regained control of \002%s\002 and are now identified as \002%s\002."), GetAccount().c_str(), na->nc->display.c_str()); } diff --git a/modules/pseudoclients/nickserv.cpp b/modules/pseudoclients/nickserv.cpp index 25c29a52f..a7941fc51 100644 --- a/modules/pseudoclients/nickserv.cpp +++ b/modules/pseudoclients/nickserv.cpp @@ -258,6 +258,7 @@ class NickServCore : public Module, public NickServService held.Unset(na); } + collided.Unset(na); /* clear pending collide */ } void OnReload(Configuration::Conf *conf) anope_override -- cgit