This fixes messages being lost when sending them to a user who has
only just connected to the server.
this->clientlist[New->nick] = New;
this->AddClone(New);
this->local_users.push_front(New);
+ FOREACH_MOD(OnUserInit, (New));
if (!SocketEngine::AddFd(eh, FD_WANT_FAST_READ | FD_WANT_EDGE_WRITE))
{
FOREACH_MOD(OnSetUserIP, (New));
if (New->quitting)
return;
-
- FOREACH_MOD(OnUserInit, (New));
}
void UserManager::QuitUser(User* user, const std::string& quitreason, const std::string* operreason)
void LocalUser::Send(ClientProtocol::Event& protoev)
{
if (!serializer)
+ {
+ ServerInstance->Logs->Log("USERS", LOG_DEBUG, "BUG: LocalUser::Send() called on %s who does not have a serializer!",
+ GetFullRealHost().c_str());
return;
+ }
// In the most common case a static LocalUser field, sendmsglist, is passed to the event to be
// populated. The list is cleared before returning.