summaryrefslogtreecommitdiff
path: root/src/users.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-06-28 11:24:19 -0400
committerAdam <Adam@anope.org>2010-06-28 11:24:19 -0400
commitf1cb4b86b7b89430ee87cfb301f143e1e57c1b2d (patch)
treefc8c5f3fcee5fc7beea880be7b3bc4366e7a50b4 /src/users.cpp
parent4502038e3da0e176e194aabfd64c85544bb0aa23 (diff)
Delete all users when we disconnect from the uplink
Diffstat (limited to 'src/users.cpp')
-rw-r--r--src/users.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/users.cpp b/src/users.cpp
index cc97152a1..887929c76 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -221,6 +221,9 @@ User::~User()
while (!this->chans.empty())
this->chans.front()->chan->DeleteUser(this);
+
+ if (Config.LimitSessions && !this->server->IsULined())
+ del_session(this->host);
UserListByNick.erase(this->nick.c_str());
if (!this->uid.empty())
@@ -939,8 +942,6 @@ void do_quit(const char *source, int ac, const char **av)
delete [] na->last_quit;
na->last_quit = *av[0] ? sstrdup(av[0]) : NULL;
}
- if (Config.LimitSessions && !user->server->IsULined())
- del_session(user->host);
FOREACH_MOD(I_OnUserQuit, OnUserQuit(user, *av[0] ? av[0] : ""));
delete user;
}
@@ -971,8 +972,6 @@ void do_kill(const std::string &nick, const std::string &msg)
delete [] na->last_quit;
na->last_quit = !msg.empty() ? sstrdup(msg.c_str()) : NULL;
}
- if (Config.LimitSessions && !user->server->IsULined())
- del_session(user->host);
delete user;
}