diff options
author | Timo Sirainen <cras@irssi.org> | 2001-08-07 15:25:41 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2001-08-07 15:25:41 +0000 |
commit | b80d4e62ab1c8eec62c13cbb9966429914f3a9f5 (patch) | |
tree | 9d559a4b7ad855e948c4bc5733dca5f9569a0191 /src | |
parent | 1db558b8ea0f283d63567ee17a625fd5cf6a08a1 (diff) | |
download | irssi-b80d4e62ab1c8eec62c13cbb9966429914f3a9f5.zip |
/SCRIPT RESET didn't work properly (start/stop functions were called in
wrong order). Added a few extra deinits.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1712 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src')
-rw-r--r-- | src/perl/perl-common.c | 5 | ||||
-rw-r--r-- | src/perl/perl-core.c | 4 | ||||
-rw-r--r-- | src/perl/perl-signals.c | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/perl/perl-common.c b/src/perl/perl-common.c index ef15b99a..1109dee6 100644 --- a/src/perl/perl-common.c +++ b/src/perl/perl-common.c @@ -561,12 +561,15 @@ void perl_common_stop(void) { g_hash_table_foreach(iobject_stashes, (GHFunc) free_iobject_hash, NULL); g_hash_table_destroy(iobject_stashes); + iobject_stashes = NULL; g_hash_table_foreach(plain_stashes, (GHFunc) g_free, NULL); g_hash_table_destroy(plain_stashes); + plain_stashes = NULL; g_slist_foreach(use_protocols, (GFunc) g_free, NULL); - g_slist_free(use_protocols); + g_slist_free(use_protocols); + use_protocols = NULL; signal_remove("chat protocol created", (SIGNAL_FUNC) perl_register_protocol); signal_remove("chat protocol destroyed", (SIGNAL_FUNC) perl_unregister_protocol); diff --git a/src/perl/perl-core.c b/src/perl/perl-core.c index cadc0c4b..b6fce2c1 100644 --- a/src/perl/perl-core.c +++ b/src/perl/perl-core.c @@ -94,14 +94,14 @@ void perl_scripts_init(void) perl_parse(my_perl, xs_init, 3, args, NULL); + perl_common_start(); + use_code = perl_get_use_list(); code = g_strdup_printf(irssi_core_code, use_code); perl_eval_pv(code, TRUE); g_free(code); g_free(use_code); - - perl_common_start(); } /* Destroy all perl scripts and deinitialize perl interpreter */ diff --git a/src/perl/perl-signals.c b/src/perl/perl-signals.c index 0fc00b6f..9aa8d97a 100644 --- a/src/perl/perl-signals.c +++ b/src/perl/perl-signals.c @@ -435,6 +435,7 @@ void perl_signals_stop(void) g_hash_table_foreach(signals[n], (GHFunc) signal_destroy_hash, NULL); g_hash_table_destroy(signals[n]); + signals[n] = NULL; } } |