diff --git a/src/plugins/irc/irc-buffer.c b/src/plugins/irc/irc-buffer.c index 0ee0b8932..a23145d4a 100644 --- a/src/plugins/irc/irc-buffer.c +++ b/src/plugins/irc/irc-buffer.c @@ -151,7 +151,8 @@ irc_buffer_close_cb (void *data, struct t_gui_buffer *buffer) weechat_buffer_close (ptr_channel->buffer); ptr_channel = next_channel; } - irc_server_disconnect (ptr_server, 0, 0); + if (!ptr_server->disconnected) + irc_server_disconnect (ptr_server, 0, 0); ptr_server->buffer = NULL; } } diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index 2b331171e..49826c63d 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -3915,10 +3915,6 @@ irc_server_disconnect (struct t_irc_server *server, int switch_address, { struct t_irc_channel *ptr_channel; - /* server already disconnected? */ - if (server->disconnected) - return; - if (server->is_connected) { /*