When cloning the object to new context, don't replace the list, just its content
1.1 --- a/json/src/main/java/org/apidesign/html/json/impl/JSONList.java Tue May 28 15:38:34 2013 +0200
1.2 +++ b/json/src/main/java/org/apidesign/html/json/impl/JSONList.java Tue May 28 19:43:16 2013 +0200
1.3 @@ -148,10 +148,10 @@
1.4 for (String dependant : deps) {
1.5 m.valueHasMutated(dependant);
1.6 }
1.7 - }
1.8 - Runnable r = onchange;
1.9 - if (r != null) {
1.10 - r.run();
1.11 + Runnable r = onchange;
1.12 + if (r != null) {
1.13 + r.run();
1.14 + }
1.15 }
1.16 }
1.17
2.1 --- a/json/src/main/java/org/apidesign/html/json/impl/ModelProcessor.java Tue May 28 15:38:34 2013 +0200
2.2 +++ b/json/src/main/java/org/apidesign/html/json/impl/ModelProcessor.java Tue May 28 19:43:16 2013 +0200
2.3 @@ -1042,7 +1042,7 @@
2.4 }
2.5 w.write(" ret.prop_" + p.name() + " = prop_" + p.name() + ".clone();\n");
2.6 } else {
2.7 - w.write(" ret.prop_" + p.name() + " = prop_" + p.name() + ".clone();\n");
2.8 + w.write(" ret.prop_" + p.name() + ".addAll(prop_" + p.name() + ");\n");
2.9 }
2.10 }
2.11