From 1e63855c8074a2bce87c53539461f060e8a2033b Mon Sep 17 00:00:00 2001 From: hns Date: Sun, 6 Jun 2004 20:07:12 +0000 Subject: [PATCH] Unwrap first argument to renderSkin() calls in case it is a Wrapper instance. --- src/helma/scripting/rhino/GlobalObject.java | 8 ++++++++ src/helma/scripting/rhino/HopObject.java | 8 ++++++++ src/helma/scripting/rhino/JavaObject.java | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/src/helma/scripting/rhino/GlobalObject.java b/src/helma/scripting/rhino/GlobalObject.java index 30eb1d87..004c11f7 100644 --- a/src/helma/scripting/rhino/GlobalObject.java +++ b/src/helma/scripting/rhino/GlobalObject.java @@ -95,6 +95,10 @@ public class GlobalObject extends ImporterTopLevel { RhinoEngine engine = (RhinoEngine) cx.getThreadLocal("engine"); Skin skin; + if (skinobj instanceof Wrapper) { + skinobj = ((Wrapper) skinobj).unwrap(); + } + if (skinobj instanceof Skin) { skin = (Skin) skinobj; } else { @@ -124,6 +128,10 @@ public class GlobalObject extends ImporterTopLevel { RhinoEngine engine = (RhinoEngine) cx.getThreadLocal("engine"); Skin skin; + if (skinobj instanceof Wrapper) { + skinobj = ((Wrapper) skinobj).unwrap(); + } + if (skinobj instanceof Skin) { skin = (Skin) skinobj; } else { diff --git a/src/helma/scripting/rhino/HopObject.java b/src/helma/scripting/rhino/HopObject.java index eccf37e6..9d99ffde 100644 --- a/src/helma/scripting/rhino/HopObject.java +++ b/src/helma/scripting/rhino/HopObject.java @@ -252,6 +252,10 @@ public class HopObject extends ScriptableObject implements Wrapper { RhinoEngine engine = (RhinoEngine) cx.getThreadLocal("engine"); Skin skin; + if (skinobj instanceof Wrapper) { + skinobj = ((Wrapper) skinobj).unwrap(); + } + if (skinobj instanceof Skin) { skin = (Skin) skinobj; } else { @@ -281,6 +285,10 @@ public class HopObject extends ScriptableObject implements Wrapper { RhinoEngine engine = (RhinoEngine) cx.getThreadLocal("engine"); Skin skin; + if (skinobj instanceof Wrapper) { + skinobj = ((Wrapper) skinobj).unwrap(); + } + if (skinobj instanceof Skin) { skin = (Skin) skinobj; } else { diff --git a/src/helma/scripting/rhino/JavaObject.java b/src/helma/scripting/rhino/JavaObject.java index 687713a2..a8df2ef2 100644 --- a/src/helma/scripting/rhino/JavaObject.java +++ b/src/helma/scripting/rhino/JavaObject.java @@ -74,6 +74,10 @@ public class JavaObject extends NativeJavaObject { RhinoEngine engine = (RhinoEngine) cx.getThreadLocal("engine"); Skin skin; + if (skinobj instanceof Wrapper) { + skinobj = ((Wrapper) skinobj).unwrap(); + } + if (skinobj instanceof Skin) { skin = (Skin) skinobj; } else { @@ -103,6 +107,10 @@ public class JavaObject extends NativeJavaObject { RhinoEngine engine = (RhinoEngine) cx.getThreadLocal("engine"); Skin skin; + if (skinobj instanceof Wrapper) { + skinobj = ((Wrapper) skinobj).unwrap(); + } + if (skinobj instanceof Skin) { skin = (Skin) skinobj; } else {