Commit 6ececd9f authored by louiz’'s avatar louiz’

Only try to join chans only once, even if we received multiple presences

ref #3228
parent e31ff3e9
......@@ -450,7 +450,12 @@ void IrcClient::send_quit_command(const std::string& reason)
void IrcClient::send_join_command(const std::string& chan_name, const std::string& password)
{
if (this->welcomed == false)
this->channels_to_join.emplace_back(chan_name, password);
{
const auto it = std::find_if(begin(this->channels_to_join), end(this->channels_to_join),
[&chan_name](const auto& pair) { return std::get<0>(pair) == chan_name; });
if (it == end(this->channels_to_join))
this->channels_to_join.emplace_back(chan_name, password);
}
else if (password.empty())
this->send_message(IrcMessage("JOIN", {chan_name}));
else
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment