From 652bdb734131ddbdbad3c3b426487f34fb78719d Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Thu, 24 Jan 2019 21:47:05 +0100 Subject: [PATCH] Refresh infoboxes only when needed Refresh infoboxes only when removeIf and remove actually removes anything to avoid constant refreshing for no reason. Signed-off-by: Tomas Slusny --- .../client/ui/overlay/infobox/InfoBoxManager.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java index a76ca5a10f..8cea4cc94e 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java @@ -77,17 +77,19 @@ public class InfoBoxManager public void removeInfoBox(InfoBox infoBox) { log.debug("Removing InfoBox {}", infoBox); - infoBoxes.remove(infoBox); - - refreshInfoBoxes(); + if (infoBoxes.remove(infoBox)) + { + refreshInfoBoxes(); + } } public void removeIf(Predicate filter) { log.debug("Removing InfoBoxes for filter {}", filter); - infoBoxes.removeIf(filter); - - refreshInfoBoxes(); + if (infoBoxes.removeIf(filter)) + { + refreshInfoBoxes(); + } } public List getInfoBoxes()