added irssi_init_finished variable to core.h which is TRUE after "irssi init

finished" signal is sent.

Perl scripts aren't now autoloaded until irssi_init_finished is TRUE (fixes
the crash at startup).


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1879 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-10-21 13:22:28 +00:00 committed by cras
commit ae1b5b0d50
3 changed files with 22 additions and 1 deletions

View file

@ -21,6 +21,7 @@
#define NEED_PERL_H
#include "module.h"
#include "modules.h"
#include "core.h"
#include "signals.h"
#include "misc.h"
@ -386,6 +387,13 @@ static void sig_script_error(PERL_SCRIPT_REC *script, const char *error)
}
}
static void sig_autorun()
{
signal_remove("irssi init finished", (SIGNAL_FUNC) sig_autorun);
perl_scripts_autorun();
}
void perl_core_init(void)
{
print_script_errors = 1;
@ -395,7 +403,11 @@ void perl_core_init(void)
signal_add_last("script error", (SIGNAL_FUNC) sig_script_error);
perl_scripts_init();
perl_scripts_autorun();
if (irssi_init_finished)
perl_scripts_autorun();
else
signal_add("irssi init finished", (SIGNAL_FUNC) sig_autorun);
module_register("perl", "core");
}