diff options
-rw-r--r-- | src/core/args.c | 2 | ||||
-rw-r--r-- | src/core/net-disconnect.c | 1 | ||||
-rw-r--r-- | src/core/nicklist.c | 1 | ||||
-rw-r--r-- | src/core/servers.c | 1 | ||||
-rw-r--r-- | src/fe-text/gui-readline.c | 5 |
5 files changed, 9 insertions, 1 deletions
diff --git a/src/core/args.c b/src/core/args.c index 093a8d56..ab26ee14 100644 --- a/src/core/args.c +++ b/src/core/args.c @@ -61,4 +61,6 @@ void args_execute(int argc, char *argv[]) g_array_free(iopt_tables, TRUE); iopt_tables = NULL; + + poptFreeContext(con); } diff --git a/src/core/net-disconnect.c b/src/core/net-disconnect.c index b0e9535b..f232f1f4 100644 --- a/src/core/net-disconnect.c +++ b/src/core/net-disconnect.c @@ -42,6 +42,7 @@ static void net_disconnect_remove(NET_DISCONNECT_REC *rec) disconnects = g_slist_remove(disconnects, rec); g_source_remove(rec->tag); + net_disconnect(rec->handle); g_free(rec); } diff --git a/src/core/nicklist.c b/src/core/nicklist.c index f9539ff3..24ad0d1a 100644 --- a/src/core/nicklist.c +++ b/src/core/nicklist.c @@ -102,6 +102,7 @@ static void nicklist_destroy(CHANNEL_REC *channel, NICK_REC *nick) { signal_emit("nicklist remove", 2, channel, nick); + MODULE_DATA_DEINIT(nick); g_free(nick->nick); g_free_not_null(nick->realname); g_free_not_null(nick->host); diff --git a/src/core/servers.c b/src/core/servers.c index 0707645c..6b6c8087 100644 --- a/src/core/servers.c +++ b/src/core/servers.c @@ -114,6 +114,7 @@ static char *server_create_tag(SERVER_CONNECT_REC *conn) same server and you want to keep the same tags with the servers (or it would cause problems when rejoining /LAYOUT SAVEd channels). */ + g_free(tag); return g_strdup(conn->tag); } diff --git a/src/fe-text/gui-readline.c b/src/fe-text/gui-readline.c index 6bc11138..524c6a55 100644 --- a/src/fe-text/gui-readline.c +++ b/src/fe-text/gui-readline.c @@ -497,13 +497,16 @@ void gui_readline_init(void) static char changekeys[] = "1234567890qwertyuio"; char *key, data[MAX_INT_STRLEN]; int n; + GIOChannel *stdin_channel; cutbuffer = NULL; redir = NULL; idle_time = time(NULL); - readtag = g_input_add_full(g_io_channel_unix_new(0), + stdin_channel = g_io_channel_unix_new(0); + readtag = g_input_add_full(stdin_channel, G_PRIORITY_HIGH, G_INPUT_READ, (GInputFunction) readline, NULL); + g_io_channel_unref(stdin_channel); settings_add_str("history", "scroll_page_count", "/2"); |