1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/Knockout.java Fri Apr 12 15:42:05 2013 +0200
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/Knockout.java Fri Apr 12 15:59:24 2013 +0200
1.3 @@ -89,8 +89,12 @@
1.4
1.5 public void valueHasMutated(String prop) {
1.6 LOG.log(Level.FINE, "property mutated: {0}", prop);
1.7 - JSObject koProp = (JSObject) ((JSObject)model).getMember(prop);
1.8 - koProp.call("valueHasMutated");
1.9 + try {
1.10 + JSObject koProp = (JSObject) ((JSObject) model).getMember(prop);
1.11 + koProp.call("valueHasMutated");
1.12 + } catch (Throwable t) {
1.13 + LOG.log(Level.FINE, "valueHasMutated failed for {0}", model);
1.14 + }
1.15 }
1.16
1.17
1.18 @@ -141,8 +145,12 @@
1.19 + "); x;");
1.20
1.21 Object ko = e.executeScript("ko");
1.22 - bnd.call("bnd", ko, bindings, model, prop, strip(getter), strip(setter), primitive, array);
1.23 - LOG.log(Level.FINE, "binding defined for {0}: {1}", new Object[]{prop, ((JSObject)bindings).getMember(prop)});
1.24 + try {
1.25 + bnd.call("bnd", ko, bindings, model, prop, strip(getter), strip(setter), primitive, array);
1.26 + LOG.log(Level.FINE, "binding defined for {0}: {1}", new Object[]{prop, ((JSObject)bindings).getMember(prop)});
1.27 + } catch (Throwable ex) {
1.28 + LOG.log(Level.FINE, "binding failed for {0} on {1}", new Object[]{prop, bindings});
1.29 + }
1.30 }
1.31
1.32 private static String strip(String mangled) {