From 233629f221e14ce6f26e016d7a2fc01538a962bb Mon Sep 17 00:00:00 2001 From: Max Weber Date: Wed, 13 Jun 2018 01:38:33 -0600 Subject: [PATCH] runelite-client: Use an ArrayList to store overlays The TreeSet was removing most overlays (except the ones I tested with) because they were equal to the comparator. --- .../java/net/runelite/client/ui/overlay/OverlayManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java index a0a75cd104..50f591e914 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java @@ -33,8 +33,6 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; -import java.util.TreeSet; import java.util.function.Predicate; import javax.inject.Inject; import javax.inject.Singleton; @@ -80,7 +78,7 @@ public class OverlayManager * All access to this must be guarded by a lock on this OverlayManager */ @Getter(AccessLevel.PACKAGE) - private final Set overlays = new TreeSet<>(OVERLAY_COMPARATOR); + private final List overlays = new ArrayList<>(); private final Map> overlayLayers = new HashMap<>(); @@ -198,6 +196,8 @@ public class OverlayManager private synchronized void rebuildOverlayLayers() { + overlays.sort(OVERLAY_COMPARATOR); + for (OverlayLayer l : OverlayLayer.values()) { overlayLayers.put(l, new ArrayList<>());