@@ -60,6 +60,7 @@ function debuggerInit(module, elm) {
6060 function resetProgram() {
6161 clearAsyncEvents();
6262 restoreProgramState(allNodes, initialProgramState);
63+ redrawGraphics();
6364 }
6465
6566 function startRecording() {
@@ -93,21 +94,24 @@ function debuggerInit(module, elm) {
9394 }
9495 }
9596
96− var moduleRetValue = module(elm);
97+ function redrawGraphics() {
98+ var graphicsFoldp = moduleRetValue.main.kids[0];
99+ graphicsFoldp.recv(Date.now(), true, moduleRetValue.main.id);
100+ }
97101
98− allNodes = flattenNodes(elm.inputs);
99− initialProgramState = saveProgramState(allNodes);
102+ var wrappedElm = {
103+ notify: wrapNotify,
104+ runDelayed: wrapRunDelayed,
105+ node: elm.node,
106+ display: elm.display,
107+ id: elm.id,
108+ addListener: elm.addListener,
109+ inputs: elm.inputs
110+ };
111+
112+ var moduleRetValue = module(wrappedElm);
100113
101− var debugElm = {
102− elm: {
103− notify: wrapNotify,
104− runDelayed: wrapRunDelayed,
105− node: elm.node,
106− display: elm.display,
107− id: elm.id,
108− addListener: elm.addListener,
109− inputs: elm.inputs
110− },
114+ var elmDebugger = {
111115 moduleRetValue: moduleRetValue,
112116
113117 // debugger functions
@@ -115,7 +119,11 @@ function debuggerInit(module, elm) {
115119 stopRecording: stopRecording,
116120 reset: resetProgram
117121 };
118− return debugElm;
122+
123+ allNodes = flattenNodes(wrappedElm.inputs);
124+ initialProgramState = saveProgramState(allNodes);
125+
126+ return elmDebugger;
119127};
120128
121129