From f3371c79f1197b089f0620a9171c7cc4d65be06e Mon Sep 17 00:00:00 2001 From: hns Date: Wed, 25 Sep 2002 15:17:33 +0000 Subject: [PATCH] Check for null and unwrap EcmaScript object to Java object in putProperty(). Especially the toJavaObject() may break something somewhere, not 100% sure, but we should do this to avoid references from map values to the wrong EcmaScript evaluator. --- src/helma/scripting/fesi/ESMapWrapper.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/helma/scripting/fesi/ESMapWrapper.java b/src/helma/scripting/fesi/ESMapWrapper.java index 0eb02002..9b81dd5d 100644 --- a/src/helma/scripting/fesi/ESMapWrapper.java +++ b/src/helma/scripting/fesi/ESMapWrapper.java @@ -48,8 +48,10 @@ public class ESMapWrapper extends ESWrapper { public void putProperty(String propertyName, ESValue propertyValue, int hash) throws EcmaScriptException { if (data == null) data = new HashMap (); - if (readonly==false) - data.put (propertyName, propertyValue); + if (propertyValue == ESNull.theNull) + deleteProperty(propertyName, hash); + else if (readonly==false) + data.put (propertyName, propertyValue.toJavaObject ()); else throw new EcmaScriptException ("object is readonly"); }