summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2014-10-05 19:53:48 -0400
committerAdam <Adam@anope.org>2014-10-06 14:06:36 -0400
commit829ef1b7bd957425e4c1fd03abad404acfeb36ba (patch)
treeaddf32006791d9a6bd1fc501218c566561c62a35 /modules
parentb068874f406de030af3857d0ec7faa182c85d7ca (diff)
Clear pending collided state on release, fixes colliding users using recover into enforcers
Diffstat (limited to 'modules')
-rw-r--r--modules/commands/ns_recover.cpp3
-rw-r--r--modules/pseudoclients/nickserv.cpp1
2 files changed, 3 insertions, 1 deletions
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