From a55320030fdf79f3308de958fedab1f8aa2fe905 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sun, 27 Sep 2020 15:28:08 +0200 Subject: [PATCH] Fix thread-unsafe mc method call in FullReplaySender (fixes #370) --- .../java/com/replaymod/replay/FullReplaySender.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/replaymod/replay/FullReplaySender.java b/src/main/java/com/replaymod/replay/FullReplaySender.java index 6c60a5a6..95c847ed 100644 --- a/src/main/java/com/replaymod/replay/FullReplaySender.java +++ b/src/main/java/com/replaymod/replay/FullReplaySender.java @@ -729,10 +729,12 @@ public class FullReplaySender extends ChannelDuplexHandler implements ReplaySend final PlayerPositionLookS2CPacket ppl = (PlayerPositionLookS2CPacket) p; if(!hasWorldLoaded) hasWorldLoaded = true; - if (mc.currentScreen instanceof DownloadingTerrainScreen) { - // Close the world loading screen manually in case we swallow the packet - mc.openScreen(null); - } + ReplayMod.instance.runLater(() -> { + if (mc.currentScreen instanceof DownloadingTerrainScreen) { + // Close the world loading screen manually in case we swallow the packet + mc.openScreen(null); + } + }); if(replayHandler.shouldSuppressCameraMovements()) return null;