diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java b/src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java index d3674af1..5fcf55fd 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/online/GuiReplayCenter.java @@ -42,7 +42,7 @@ public class GuiReplayCenter extends GuiScreen implements GuiYesNoCallback { private GuiAdvancedTextField searchNameInput, searchServerInput; private GuiButton searchActionButton; - private Queue loadedReplaysQueue = new ConcurrentLinkedQueue(); + private Queue loadedReplaysQueue = new ConcurrentLinkedQueue(); private boolean showSearchFields = false; @@ -453,7 +453,12 @@ public class GuiReplayCenter extends GuiScreen implements GuiYesNoCallback { searchServerInput.updateCursorCounter(); } while (!loadedReplaysQueue.isEmpty()) { - currentList.addEntry(currentList.getEntries().size() - 1, loadedReplaysQueue.poll()); + GuiListExtended.IGuiListEntry entry = loadedReplaysQueue.poll(); + if (entry instanceof GuiLoadingListEntry) { + currentList.removeEntry(entry); + } else { + currentList.addEntry(currentList.getEntries().size() - 1, entry); + } } } @@ -525,12 +530,7 @@ public class GuiReplayCenter extends GuiScreen implements GuiYesNoCallback { } } - mc.addScheduledTask(new Runnable() { - @Override - public void run() { - currentList.removeEntry(loadingListEntry); - } - }); + loadedReplaysQueue.add(loadingListEntry); } }, "replaymod-list-loader"); currentListLoader.start(); diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java b/src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java index cea3abbb..3054cc0f 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/replayviewer/GuiReplayViewer.java @@ -100,7 +100,7 @@ public class GuiReplayViewer extends GuiScreen implements GuiYesNoCallback { } } - mc.addScheduledTask(new Runnable() { + loadedReplaysQueue.offer(new Runnable() { @Override public void run() { replayGuiList.removeEntry(loadingListEntry);