1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 04:46:37 +02:00

guile: fix crash on calls to callbacks during load of script (bug #38343)

This commit is contained in:
Sebastien Helleu
2013-02-19 19:49:12 +01:00
parent e4529079a8
commit c43d48a9df
2 changed files with 11 additions and 5 deletions
+2 -1
View File
@@ -1,7 +1,7 @@
WeeChat ChangeLog
=================
Sébastien Helleu <flashcode@flashtux.org>
v0.4.1-dev, 2013-02-18
v0.4.1-dev, 2013-02-19
Version 0.4.1 (under dev!)
@@ -22,6 +22,7 @@ Version 0.4.1 (under dev!)
* aspell: add completion "aspell_dicts" (list of aspell installed dictionaries)
* aspell: add info "aspell_dict" (dictionaries used on a buffer)
* aspell: optimization on spellers to improve speed (save state by buffer)
* guile: fix crash on calls to callbacks during load of script (bug #38343)
* guile: fix compilation with guile 2.0
* irc: fix display of malformed CTCP (without closing char) (bug #38347)
* irc: unmask smart filtered join if nick speaks in channel some minutes after
+9 -4
View File
@@ -255,12 +255,17 @@ weechat_guile_exec (struct t_plugin_script *script,
char *format, void **argv)
{
struct t_plugin_script *old_guile_current_script;
SCM argv_list, rc;
SCM argv_list, rc, old_current_module;
void *argv2[17], *ret_value;
int i, argc, *ret_int;
old_guile_current_script = guile_current_script;
scm_set_current_module ((SCM)(script->interpreter));
old_current_module = NULL;
if (script->interpreter)
{
old_current_module = scm_current_module ();
scm_set_current_module ((SCM)(script->interpreter));
}
guile_current_script = script;
if (argv && argv[0])
@@ -336,8 +341,8 @@ weechat_guile_exec (struct t_plugin_script *script,
weechat_prefix ("error"), GUILE_PLUGIN_NAME, function);
}
if (old_guile_current_script)
scm_set_current_module ((SCM)(old_guile_current_script->interpreter));
if (old_current_module)
scm_set_current_module (old_current_module);
guile_current_script = old_guile_current_script;