From 06ee5c54c9f27e37bbdb5155e29b2cd90d5ca98f Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 16 Feb 2004 08:58:48 +0000 Subject: [PATCH] fixed bug 459 (this patch is dedicated to charlie) darcs-hash:20040216085848-5007d-939cc48db6ebcaf78fba202a8c15a59384858d55.gz --- src/org/ibex/Template.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/org/ibex/Template.java b/src/org/ibex/Template.java index c7a9acb..05cede3 100644 --- a/src/org/ibex/Template.java +++ b/src/org/ibex/Template.java @@ -32,6 +32,7 @@ public class Template { private Vec children = new Vec(); ///< during XML parsing, this holds the list of currently-parsed children; null otherwise private JS script = null; ///< the script on this node Template prev; + Template prev2; JSScope staticScope = null; ///< the scope in which the static block is executed @@ -75,6 +76,7 @@ public class Template { private void apply(Box b, PerInstantiationScope parentPis) throws JSExn, IOException { if (prev != null) prev.apply(b, null); + if (prev2 != null) prev2.apply(b, null); // FIXME this dollar stuff is all wrong if (id != null) parentPis.putDollar(id, b); @@ -188,9 +190,7 @@ public class Template { state = STATE_IN_ROOT_NODE; return; case STATE_IN_ROOT_NODE: - if ("ibex://meta".equals(c.getUri())) { - state = STATE_IN_META_NODE; meta = 0; return; - } + if ("ibex://meta".equals(c.getUri())) { state = STATE_IN_META_NODE; meta = 0; return; } state = STATE_IN_TEMPLATE_NODE; t = (t == null) ? new Template(ibex) : new Template(t, getLine()); break; @@ -204,7 +204,8 @@ public class Template { String tagname = (c.getUri().equals("") ? "" : (c.getUri() + ".")) + c.getLocalName(); // GROSS hack try { - t.prev = (Template)t.ibex.resolveString(tagname, false).call(null, null, null, null, 9999); + // GROSSER hack + t.prev2 = (Template)t.ibex.resolveString(tagname, false).call(null, null, null, null, 9999); } catch (Exception e) { Log.error(Template.class, e); } -- 1.7.10.4