summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJilles Tjoelker <jilles@irssi.org>2007-07-06 21:43:23 +0000
committerjilles <jilles@dbcabf3a-b0e7-0310-adc4-f8d773084564>2007-07-06 21:43:23 +0000
commit8312144547de98710859e8c44227ee894d724b01 (patch)
tree392bd091201fc86b5e7afe1db64b22bf4f5a7aca /src
parent0b8bee080ac588b9763b72a5abd866ed37425f07 (diff)
downloadirssi-8312144547de98710859e8c44227ee894d724b01.zip
Move the check for 4xx numeric for join failures last, so
that the CHANNEL_REC is still around when handlers for specific numerics are executed. This allows removing the ugly special case for 437; I will also use this for 470 (channel forwarding). git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4572 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src')
-rw-r--r--src/irc/core/channel-events.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/irc/core/channel-events.c b/src/irc/core/channel-events.c
index 7addd8e4..441849b8 100644
--- a/src/irc/core/channel-events.c
+++ b/src/irc/core/channel-events.c
@@ -60,8 +60,7 @@ static void irc_server_event(IRC_SERVER_REC *server, const char *line)
indicate that the join failed. */
params = event_get_params(line, 3, &numeric, NULL, &channel);
- /* 437 is handled specially in src/irc/core/channel-rejoin.c */
- if (numeric[0] == '4' && (numeric[1] != '3' || numeric[2] != '7'))
+ if (numeric[0] == '4')
check_join_failure(server, channel);
g_free(params);
@@ -360,7 +359,7 @@ void channel_events_init(void)
{
settings_add_bool("misc", "join_auto_chans_on_invite", TRUE);
- signal_add_first("server event", (SIGNAL_FUNC) irc_server_event);
+ signal_add_last("server event", (SIGNAL_FUNC) irc_server_event);
signal_add_first("event 403", (SIGNAL_FUNC) event_no_such_channel); /* no such channel */
signal_add_first("event 407", (SIGNAL_FUNC) event_duplicate_channel); /* duplicate channel */