Rewritten signal handling code - it wasn't supposed to come before 0.9 irssi

but it doesn't break much things and is needed for Qt port :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2682 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2002-04-15 13:59:09 +00:00 committed by cras
commit 8b9c4823bf
6 changed files with 228 additions and 191 deletions

View file

@ -288,8 +288,8 @@ static void perl_signal_add_to_int(const char *signal, SV *func,
g_hash_table_insert(table, signal_idp, siglist);
if (!command) {
signal_add_to_id(MODULE_NAME, priority, rec->signal_id,
perl_signal_get_func(rec));
signal_add_full_id(MODULE_NAME, priority, rec->signal_id,
perl_signal_get_func(rec), NULL);
}
}
@ -321,7 +321,7 @@ static void perl_signal_remove_list_one(GSList **siglist, PERL_SIGNAL_REC *rec)
*siglist = g_slist_remove(*siglist, rec);
if (*siglist == NULL) {
signal_remove_id(rec->signal_id, perl_signal_get_func(rec));
signal_remove_id(rec->signal_id, perl_signal_get_func(rec), NULL);
g_free(siglist);
g_hash_table_remove(signals[rec->priority], signal_idp);
}
@ -407,7 +407,8 @@ static int signal_destroy_hash(void *key, GSList **list, PERL_SCRIPT_REC *script
*list = g_slist_remove(*list, rec);
if (*list == NULL) {
signal_remove_id(rec->signal_id,
perl_signal_get_func(rec));
perl_signal_get_func(rec),
NULL);
}
perl_signal_destroy(rec);
}