From 53bdd8f602bc24a90dd7033ffa29923d966f9b27 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sun, 25 Nov 2001 20:55:45 +0000 Subject: [PATCH] Irssi didn't properly abort a redirection of which end event it missed. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2152 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/irc/core/servers-redirect.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/irc/core/servers-redirect.c b/src/irc/core/servers-redirect.c index 229e4f99..86c536a7 100644 --- a/src/irc/core/servers-redirect.c +++ b/src/irc/core/servers-redirect.c @@ -336,6 +336,9 @@ static const char *redirect_match(REDIRECT_REC *redirect, const char *event, const char *signal; int stop_signal; + if (redirect->aborted) + return NULL; + /* get the signal for redirection event - if it's not found we'll use the default signal */ signal = NULL; @@ -475,8 +478,11 @@ server_redirect_get(IRC_SERVER_REC *server, const char *event, } else { /* not a numeric, so we've lost the stop event.. */ - (*redirect)->destroyed = TRUE; (*redirect)->aborted = TRUE; + redirect_abort(server, *redirect); + + *redirect = NULL; + signal = NULL; } } }