From 138079e3bdcadaf163381fa9408609bb40f045ad Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 31 Jul 2000 20:40:24 +0000 Subject: Fixes git-svn-id: http://svn.irssi.org/repos/irssi/trunk@560 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/core/server.c | 8 ++++++-- src/irc/core/irc-server.c | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/core/server.c b/src/core/server.c index 33e79856..f9ebf682 100644 --- a/src/core/server.c +++ b/src/core/server.c @@ -43,6 +43,8 @@ static void server_cant_connect(SERVER_REC *server, const char *msg) signal_emit("server connect failed", 2, server, msg); if (server->connect_tag != -1) g_source_remove(server->connect_tag); + if (server->handle != NULL) + net_sendbuffer_destroy(server->handle, TRUE); if (server->connect_pipe[0] != -1) { close(server->connect_pipe[0]); @@ -50,8 +52,8 @@ static void server_cant_connect(SERVER_REC *server, const char *msg) } MODULE_DATA_DEINIT(server); + g_free_not_null(server->nick); g_free(server->tag); - g_free(server->nick); g_free(server); } @@ -235,8 +237,10 @@ void server_disconnect(SERVER_REC *server) MODULE_DATA_DEINIT(server); rawlog_destroy(server->rawlog); line_split_free(server->buffer); - g_free(server->tag); + g_free_not_null(server->version); + g_free_not_null(server->away_reason); g_free(server->nick); + g_free(server->tag); g_free(server); } diff --git a/src/irc/core/irc-server.c b/src/irc/core/irc-server.c index 898f281e..a0b4b046 100644 --- a/src/irc/core/irc-server.c +++ b/src/irc/core/irc-server.c @@ -231,15 +231,16 @@ static void sig_disconnected(IRC_SERVER_REC *server) irc_server_connect_free(server->connrec); g_free_not_null(server->real_address); - g_free_not_null(server->version); g_free_not_null(server->usermode); g_free_not_null(server->userhost); g_free_not_null(server->last_invite); - g_free_not_null(server->away_reason); } static void sig_connect_failed(IRC_SERVER_REC *server) { + if (!irc_server_check(server)) + return; + server_remove_channels(server); irc_server_connect_free(server->connrec); } -- cgit v1.2.3