diff --git a/core/src/mindustry/logic/LCanvas.java b/core/src/mindustry/logic/LCanvas.java index 10e2e8279b..0fe774b228 100644 --- a/core/src/mindustry/logic/LCanvas.java +++ b/core/src/mindustry/logic/LCanvas.java @@ -159,6 +159,7 @@ public class LCanvas extends Table{ st.setupUI(); } + this.statements.updateJumpHeights = true; this.statements.layout(); } @@ -202,6 +203,7 @@ public class LCanvas extends Table{ boolean invalidated; public Group jumps = new WidgetGroup(); private Seq processedJumps = new Seq(); + public boolean updateJumpHeights = true; { setTransform(true); @@ -257,7 +259,10 @@ public class LCanvas extends Table{ } } - if(dynamicJumpHeights) setJumpHeights(); + if(dynamicJumpHeights){ + if(updateJumpHeights) setJumpHeights(); + updateJumpHeights = false; + } if(parent != null) parent.invalidateHierarchy();//don't invalid self @@ -394,6 +399,7 @@ public class LCanvas extends Table{ dragging = null; } + updateJumpHeights = true; layout(); } } @@ -430,6 +436,7 @@ public class LCanvas extends Table{ t.button(Icon.cancel, Styles.logici, () -> { remove(); dragging = null; + statements.updateJumpHeights = true; statements.layout(); }).size(24f); @@ -449,6 +456,7 @@ public class LCanvas extends Table{ lasty = v.y; dragging = StatementElem.this; toFront(); + statements.updateJumpHeights = true; statements.layout(); return true; } @@ -506,6 +514,7 @@ public class LCanvas extends Table{ statements.layout(); copy.elem = s; copy.setupUI(); + statements.updateJumpHeights = true; } } @@ -549,6 +558,7 @@ public class LCanvas extends Table{ setter.get(null); mx = x; my = y; + canvas.statements.updateJumpHeights = true; return true; } @@ -569,6 +579,7 @@ public class LCanvas extends Table{ setter.get(null); } selecting = false; + canvas.statements.updateJumpHeights = true; } }); diff --git a/core/src/mindustry/logic/LogicDialog.java b/core/src/mindustry/logic/LogicDialog.java index eaac0dd322..65ce456c0f 100644 --- a/core/src/mindustry/logic/LogicDialog.java +++ b/core/src/mindustry/logic/LogicDialog.java @@ -256,6 +256,8 @@ public class LogicDialog extends BaseDialog{ dialog.addCloseButton(); dialog.show(); }).disabled(t -> canvas.statements.getChildren().size >= LExecutor.maxInstructions); + + Core.app.post(canvas::rebuild); } public void show(String code, LExecutor executor, boolean privileged, Cons modified){