From 48cb8462303249406c69368db5aa5cf39cea1c3f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 22 Aug 2000 22:11:37 +0000 Subject: [PATCH] Unloading perl script crashed if it has used Irssi::timeout_add(). git-svn-id: http://svn.irssi.org/repos/irssi/trunk@620 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/perl/irssi-perl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/perl/irssi-perl.c b/src/perl/irssi-perl.c index 158b4a8c..0b689c79 100644 --- a/src/perl/irssi-perl.c +++ b/src/perl/irssi-perl.c @@ -199,7 +199,7 @@ static int signal_destroy_hash(void *key, GSList **list, const char *package) static int perl_script_destroy(const char *name) { - GSList *tmp; + GSList *tmp, *next; char *package; int package_len; @@ -214,9 +214,10 @@ static int perl_script_destroy(const char *name) g_hash_table_foreach_remove(last_signals, (GHRFunc) signal_destroy_hash, package); - for (tmp = perl_timeouts; tmp != NULL; tmp = tmp->next) { + for (tmp = perl_timeouts; tmp != NULL; tmp = next) { PERL_TIMEOUT_REC *rec = tmp->data; + next = tmp->next; if (strncmp(rec->func, package, package_len) == 0) perl_timeout_destroy(rec); }