From 00e999ffd29f01bc7ad81c9c3ed158b07e086697 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Fri, 25 Aug 2017 15:13:27 +0200 Subject: [PATCH] Fix replay not being closed when opened via URI scheme handler (fixes #92) --- src/main/java/com/replaymod/replay/ReplayHandler.java | 2 ++ src/main/java/com/replaymod/replay/ReplayModReplay.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/main/java/com/replaymod/replay/ReplayHandler.java b/src/main/java/com/replaymod/replay/ReplayHandler.java index 8a9f4c82..caca9969 100755 --- a/src/main/java/com/replaymod/replay/ReplayHandler.java +++ b/src/main/java/com/replaymod/replay/ReplayHandler.java @@ -124,6 +124,8 @@ public class ReplayHandler { ReplayModReplay.instance.replayHandler = null; + mc.displayGuiScreen(null); + FMLCommonHandler.instance().bus().post(new ReplayCloseEvent.Post(this)); } diff --git a/src/main/java/com/replaymod/replay/ReplayModReplay.java b/src/main/java/com/replaymod/replay/ReplayModReplay.java index 8c72db89..d6ef677d 100644 --- a/src/main/java/com/replaymod/replay/ReplayModReplay.java +++ b/src/main/java/com/replaymod/replay/ReplayModReplay.java @@ -181,6 +181,9 @@ public class ReplayModReplay { } public void startReplay(ReplayFile replayFile, boolean checkModCompat) throws IOException { + if (replayHandler != null) { + replayHandler.endReplay(); + } if (checkModCompat) { ModCompat.ModInfoDifference modDifference = new ModCompat.ModInfoDifference(replayFile.getModInfo()); if (!modDifference.getMissing().isEmpty() || !modDifference.getDiffering().isEmpty()) {