From 169c4857b38b4aeb8d032620eb654a48a1972efe Mon Sep 17 00:00:00 2001 From: LindaJuffermans Date: Fri, 17 Jul 2020 17:23:02 +0200 Subject: [PATCH] Fixed order of methods in quickmode change; no longer relying on local variable, instead pulling current state from ReplayHandler before updating. --- src/main/java/com/replaymod/extras/QuickMode.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/replaymod/extras/QuickMode.java b/src/main/java/com/replaymod/extras/QuickMode.java index 0aa59b5b..4dfaf747 100644 --- a/src/main/java/com/replaymod/extras/QuickMode.java +++ b/src/main/java/com/replaymod/extras/QuickMode.java @@ -19,8 +19,6 @@ public class QuickMode extends EventRegistrations implements Extra { private final IGuiImage indicator = new GuiImage().setTexture(ReplayMod.TEXTURE, 40, 100, 16, 16).setSize(16, 16); - private boolean active; - @Override public void register(final ReplayMod mod) throws Exception { this.module = ReplayModReplay.instance; @@ -32,12 +30,12 @@ public class QuickMode extends EventRegistrations implements Extra { if (replayHandler == null) { return; } - updateIndicator(replayHandler.getOverlay()); replayHandler.getReplaySender().setSyncModeAndWait(); mod.runLater(() -> { replayHandler.ensureQuickModeInitialized(() -> { - active = !active; - replayHandler.setQuickMode(active); + boolean enabled = !replayHandler.isQuickMode(); + updateIndicator(replayHandler.getOverlay(), enabled); + replayHandler.setQuickMode(enabled); replayHandler.getReplaySender().setAsyncMode(true); }); }); @@ -48,11 +46,11 @@ public class QuickMode extends EventRegistrations implements Extra { } { - on(ReplayOpenedCallback.EVENT, replayHandler -> updateIndicator(replayHandler.getOverlay())); + on(ReplayOpenedCallback.EVENT, replayHandler -> updateIndicator(replayHandler.getOverlay(), replayHandler.isQuickMode())); } - private void updateIndicator(GuiReplayOverlay overlay) { - if (active) { + private void updateIndicator(GuiReplayOverlay overlay, boolean enabled) { + if (enabled) { overlay.statusIndicatorPanel.addElements(new HorizontalLayout.Data(1), indicator); } else { overlay.statusIndicatorPanel.removeElement(indicator);