[gimp/gimp-2-6] Applied changes from CVS version 1.23 of official version of TinyScheme. Fixed potential problem of
- From: Kevin Cozens <kcozens src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gimp-2-6] Applied changes from CVS version 1.23 of official version of TinyScheme. Fixed potential problem of
- Date: Thu, 16 Sep 2010 20:02:25 +0000 (UTC)
commit d06a4ee4c37912557fce5a7e2e24b8015c6ccf9b
Author: Kevin Cozens <kcozens cvs gnome org>
Date: Thu Sep 16 15:01:11 2010 -0400
Applied changes from CVS version 1.23 of official version of TinyScheme.
Fixed potential problem of arglist to foreign calls being wrongly GC'ed.
(Cherry pick of commit 6a3a7befcf7ab4954d62f96263c6d9b3d8f88c9d)
plug-ins/script-fu/tinyscheme/scheme.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/plug-ins/script-fu/tinyscheme/scheme.c b/plug-ins/script-fu/tinyscheme/scheme.c
index 457ca28..4755993 100644
--- a/plug-ins/script-fu/tinyscheme/scheme.c
+++ b/plug-ins/script-fu/tinyscheme/scheme.c
@@ -2660,7 +2660,10 @@ static pointer opexe_0(scheme *sc, enum scheme_opcodes op) {
#endif
if (is_proc(sc->code)) {
s_goto(sc,procnum(sc->code)); /* PROCEDURE */
- } else if (is_foreign(sc->code)) {
+ } else if (is_foreign(sc->code))
+ {
+ /* Keep nested calls from GC'ing the arglist */
+ push_recent_alloc(sc,sc->args,sc->NIL);
sc->foreign_error = sc->NIL;
x=sc->code->_object._ff(sc,sc->args);
if (sc->foreign_error == sc->NIL) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]