summaryrefslogtreecommitdiff
path: root/src/irc/core/irc-cap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/core/irc-cap.c')
-rw-r--r--src/irc/core/irc-cap.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/irc/core/irc-cap.c b/src/irc/core/irc-cap.c
index 880a15b6..90bffd80 100644
--- a/src/irc/core/irc-cap.c
+++ b/src/irc/core/irc-cap.c
@@ -148,8 +148,12 @@ static void event_cap (IRC_SERVER_REC *server, char *args, char *nick, char *add
caps_length = g_strv_length(caps);
if (!g_ascii_strcasecmp(evt, "LS")) {
- /* Throw away everything and start from scratch */
- g_hash_table_remove_all(server->cap_supported);
+ if (!server->cap_in_multiline) {
+ /* Throw away everything and start from scratch */
+ g_hash_table_remove_all(server->cap_supported);
+ }
+
+ server->cap_in_multiline = multiline;
/* Create a list of the supported caps */
for (i = 0; i < caps_length; i++) {