~singpolyma/biboumi

38ff50f5d2ca356f659429ff57546bd2364a0fef — louiz’ 6 years ago 27195a9
Don’t send the unavailable presence to all resources, in the virtual channel
2 files changed, 3 insertions(+), 3 deletions(-)

M src/bridge/bridge.cpp
M src/irc/irc_client.cpp
M src/bridge/bridge.cpp => src/bridge/bridge.cpp +1 -1
@@ 62,7 62,7 @@ void Bridge::shutdown(const std::string& exit_message)
  for (auto it = this->irc_clients.begin(); it != this->irc_clients.end(); ++it)
  {
    it->second->send_quit_command(exit_message);
    it->second->leave_dummy_channel(exit_message);
    it->second->leave_dummy_channel(exit_message, "");
  }
}


M src/irc/irc_client.cpp => src/irc/irc_client.cpp +2 -2
@@ 1161,14 1161,14 @@ DummyIrcChannel& IrcClient::get_dummy_channel()
  return this->dummy_channel;
}

void IrcClient::leave_dummy_channel(const std::string& exit_message)
void IrcClient::leave_dummy_channel(const std::string& exit_message, const std::string& resource)
{
  if (!this->dummy_channel.joined)
    return;
  this->dummy_channel.joined = false;
  this->dummy_channel.joining = false;
  this->dummy_channel.remove_all_users();
  this->bridge.send_muc_leave(Iid("%"s + this->hostname, this->chantypes), std::string(this->current_nick), exit_message, true);
  this->bridge.send_muc_leave(Iid("%"s + this->hostname, this->chantypes), std::string(this->current_nick), exit_message, true, resource);
}

#ifdef BOTAN_FOUND