From 749021f8e81830e7fe487f2d9e8124a8281c74a1 Mon Sep 17 00:00:00 2001 From: Marcus Comstedt <marcus@mc.pp.se> Date: Wed, 12 Jan 2000 05:45:30 +0100 Subject: [PATCH] Fixed reference bug when returning objects from native methods. Rev: src/modules/Java/jvm.c:1.12 --- src/modules/Java/jvm.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/modules/Java/jvm.c b/src/modules/Java/jvm.c index 7da2ab8c7d..10566e75a3 100644 --- a/src/modules/Java/jvm.c +++ b/src/modules/Java/jvm.c @@ -1,5 +1,5 @@ /* - * $Id: jvm.c,v 1.11 1999/12/21 00:04:38 marcus Exp $ + * $Id: jvm.c,v 1.12 2000/01/12 04:45:30 marcus Exp $ * * Pike interface to Java Virtual Machine * @@ -16,7 +16,7 @@ #endif /* HAVE_CONFIG_H */ #include "global.h" -RCSID("$Id: jvm.c,v 1.11 1999/12/21 00:04:38 marcus Exp $"); +RCSID("$Id: jvm.c,v 1.12 2000/01/12 04:45:30 marcus Exp $"); #include "program.h" #include "interpret.h" #include "stralloc.h" @@ -1633,8 +1633,11 @@ static void do_native_dispatch(struct native_method_context *ctx, memset(rc, 0, sizeof(*rc)); - if(*p != 'V') + if(*p != 'V') { make_jargs(rc, -1, p, ctx->nat->jvm, env); + if((*p == 'L' || *p == '[') && rc->l != NULL) + rc->l = (*env)->NewGlobalRef(env, rc->l); + } pop_n_elems(sp-osp); UNSETJMP(recovery); -- GitLab