~singpolyma/biboumi

6ececd9f3990513ce35a38c2faac7d265e09900e — louiz’ 5 years ago e31ff3e
Only try to join chans only once, even if we received multiple presences

ref #3228
1 files changed, 6 insertions(+), 1 deletions(-)

M src/irc/irc_client.cpp
M src/irc/irc_client.cpp => src/irc/irc_client.cpp +6 -1
@@ 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