summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/args.c2
-rw-r--r--src/core/net-disconnect.c1
-rw-r--r--src/core/nicklist.c1
-rw-r--r--src/core/servers.c1
-rw-r--r--src/fe-text/gui-readline.c5
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");