From d3bc87dbc8a3cf3d8c97654e0f0d51cf2c516562 Mon Sep 17 00:00:00 2001 From: megacz Date: Fri, 30 Jan 2004 07:01:40 +0000 Subject: [PATCH] 2003/06/18 05:56:23 darcs-hash:20040130070140-2ba56-783c250d4e763e9c0122c2058263a63754e9a1ad.gz --- Makefile | 3 ++- src/org/xwt/SpecialBoxProperty.java | 49 ++++++++++++++++------------------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/Makefile b/Makefile index e3ac858..c55a2db 100644 --- a/Makefile +++ b/Makefile @@ -269,7 +269,8 @@ current_build := $(shell cat next.build) this_branch := $(shell tail -c +2 CVS/Tag 2>/dev/null || echo HEAD) this_branch_flag := $(shell test $(this_branch) = HEAD && echo || echo -r $(this_branch)) -dist: +# pre-depend on compile as a sanity check +dist: compile # this will fail if we haven't checked-in since the comment is null; we want this. cvs commit -m '' > /dev/null cvs tag -F xwt-$(current_build) diff --git a/src/org/xwt/SpecialBoxProperty.java b/src/org/xwt/SpecialBoxProperty.java index d55fd38..068d4a1 100644 --- a/src/org/xwt/SpecialBoxProperty.java +++ b/src/org/xwt/SpecialBoxProperty.java @@ -655,33 +655,30 @@ class SpecialBoxProperty { specialBoxProperties.put("apply", new SpecialBoxProperty() { public void put(Box b, Object value) { } - public Object get(final Box b) { return public Object call(JS.Array args) throws JS.Exn { - - // apply a template - if (args.elementAt(0) instanceof String) { - String templatename = (String)args.elementAt(0); - Template t = Template.getTemplate(templatename, null); - if (t == null) { - if (Log.on) Log.logJS(this, "template " + templatename + " not found"); - } else { - if (ThreadMessage.suspendThread()) try { - JS.Callable callback = args.length() < 2 ? null : (Callable)args.elementAt(1); - t.apply(b, null, null, callback, 0, t.numUnits()); - } finally { - ThreadMessage.resumeThread(); + public Object get(final Box b) { return new JS.Callable() { + public Object call(JS.Array args) throws JS.Exn { + if (args.elementAt(0) instanceof String) { + String templatename = (String)args.elementAt(0); + Template t = Template.getTemplate(templatename, null); + if (t == null) { + if (Log.on) Log.logJS(this, "template " + templatename + " not found"); + } else { + if (ThreadMessage.suspendThread()) try { + JS.Callable callback = args.length() < 2 ? null : (Callable)args.elementAt(1); + t.apply(b, null, null, callback, 0, t.numUnits()); + } finally { + ThreadMessage.resumeThread(); + } + } + + } else if (args.elementAt(0) instanceof JS && !(args.elementAt(0) instanceof Box)) { + JS s = (JS)args.elementAt(0); + Object[] keys = s.keys(); + for(int j=0; j