1
0
mirror of https://github.com/anope/anope.git synced 2026-06-25 14:06:37 +02:00

Fixed bug #1110 - Fixed tracking of NickServ collide/release timers to only attempt to delete real ones

git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2563 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
Adam-
2009-10-16 17:38:21 +00:00
parent f6510291aa
commit 3806cd8440
+12 -6
View File
@@ -41,16 +41,19 @@ class NickServCollide : public Timer
{
public:
NickAlias *na;
std::map<NickAlias *, NickServCollide *>::iterator nit;
std::pair<std::map<NickAlias *, NickServCollide *>::iterator, bool> it;
NickServCollide(NickAlias *nickalias, time_t delay) : Timer(delay), na(nickalias)
{
nit = NickServCollides.insert(std::make_pair(nickalias, this)).first;
it = NickServCollides.insert(std::make_pair(nickalias, this));
}
~NickServCollide()
{
NickServCollides.erase(nit);
if (it.second)
{
NickServCollides.erase(it.first);
}
}
void Tick(time_t ctime)
@@ -85,16 +88,19 @@ class NickServRelease : public Timer
public:
NickAlias *na;
std::string uid;
std::map<NickAlias *, NickServRelease *>::iterator nit;
std::pair<std::map<NickAlias *, NickServRelease *>::iterator, bool> it;
NickServRelease(NickAlias *nickalias, time_t delay) : Timer(delay), na(nickalias)
{
nit = NickServReleases.insert(std::make_pair(nickalias, this)).first;
it = NickServReleases.insert(std::make_pair(nickalias, this));
}
~NickServRelease()
{
NickServReleases.erase(nit);
if (it.second)
{
NickServReleases.erase(it.first);
}
}
void Tick(time_t ctime)