summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/irc/irc_client.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp
index 7be7cc8..78acce5 100644
--- a/src/irc/irc_client.cpp
+++ b/src/irc/irc_client.cpp
@@ -197,7 +197,12 @@ void IrcClient::send_part_command(const std::string& chan_name, const std::strin
{
IrcChannel* channel = this->get_channel(chan_name);
if (channel->joined == true)
- this->send_message(IrcMessage("PART", {chan_name, status_message}));
+ {
+ if (chan_name.empty())
+ this->bridge->send_muc_leave(Iid(std::string("%") + this->hostname), std::string(this->current_nick), "", true);
+ else
+ this->send_message(IrcMessage("PART", {chan_name, status_message}));
+ }
}
void IrcClient::send_mode_command(const std::string& chan_name, const std::vector<std::string>& arguments)