When cloning the object to new context, don't replace the list, just its content context
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 28 May 2013 19:43:16 +0200
branchcontext
changeset 11275915f3d5aee
parent 111 b3ed6cf776df
child 113 ba7853055f6b
When cloning the object to new context, don't replace the list, just its content
json/src/main/java/org/apidesign/html/json/impl/JSONList.java
json/src/main/java/org/apidesign/html/json/impl/ModelProcessor.java
     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