@@ -391,10 +391,6 @@ function tracePathInit(runtime, signalGraphMain) {
391391 {
392392 List.map(F2(processForm)(offset))(elem.element.model.forms);
393393 }
394− if (elem.props.debugTracePathId)
395− {
396− positions[elem.props.debugTracePathId] = new Point(offset.x, offset.y);
397− }
398394 }
399395
400396 function processForm(offset, form) {
@@ -402,6 +398,15 @@ function tracePathInit(runtime, signalGraphMain) {
402398 {
403399 processElement(form.form._0, offset.translate(form.x, -form.y));
404400 }
401+ if (form.form.ctor == "FGroup")
402+ {
403+ var newOffset = offset.translate(form.x, -form.y);
404+ List.map(F2(processForm)(newOffset))(form.form._1);
405+ }
406+ if (form.debugTracePathId)
407+ {
408+ positions[form.debugTracePathId] = new Point(form.x + offset.x, -form.y + offset.y);
409+ }
405410 }
406411
407412 processElement(currentScene, new Point(0, 0));