@@ -33,9 +33,12 @@ function init(display, container, module, moduleToReplace) {
3333
3434 function notify(id, v) {
3535 var timestep = Date.now();
36+ var changed = false;
3637 for (var i = inputs.length; i--; ) {
37− inputs[i].recv(timestep, id, v);
38+ // order is important here to avoid short-circuiting
39+ changed = inputs[i].recv(timestep, id, v) || changed;
3840 }
41+ return changed;
3942 }
4043
4144 container.offsetX = 0;
@@ -86,6 +89,7 @@ function init(display, container, module, moduleToReplace) {
8689 removeListeners(listeners);
8790 var div = document.createElement('div');
8891 var newElm = init(display, div, newModule, elm);
92+ inputs = [];
8993 // elm.send = newElm.send;
9094 // elm.recv = newElm.recv;
9195 // elm.swap = newElm.swap;