Small refactor in on_quit()
This commit is contained in:
@@ -1017,19 +1017,17 @@ void IrcClient::on_quit(const IrcMessage& message)
|
|||||||
const std::string& chan_name = pair.first;
|
const std::string& chan_name = pair.first;
|
||||||
IrcChannel* channel = pair.second.get();
|
IrcChannel* channel = pair.second.get();
|
||||||
const IrcUser* user = channel->find_user(message.prefix);
|
const IrcUser* user = channel->find_user(message.prefix);
|
||||||
|
if (!user)
|
||||||
|
continue;
|
||||||
bool self = false;
|
bool self = false;
|
||||||
if (user == channel->get_self())
|
if (user == channel->get_self())
|
||||||
self = true;
|
self = true;
|
||||||
if (user)
|
|
||||||
{
|
|
||||||
std::string nick = user->nick;
|
|
||||||
channel->remove_user(user);
|
|
||||||
Iid iid;
|
Iid iid;
|
||||||
iid.set_local(chan_name);
|
iid.set_local(chan_name);
|
||||||
iid.set_server(this->hostname);
|
iid.set_server(this->hostname);
|
||||||
iid.type = Iid::Type::Channel;
|
iid.type = Iid::Type::Channel;
|
||||||
this->bridge.send_muc_leave(iid, std::move(nick), txt, self, false);
|
this->bridge.send_muc_leave(iid, user->nick, txt, self, false);
|
||||||
}
|
channel->remove_user(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user