From 205659defacba7b740083f750f9caecf47f0077c Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Thu, 14 Jun 2018 14:31:20 +0200 Subject: [PATCH] Use Object.equals for Overlays - Generated equals from Lombok can cause falsy equals checks and so match with unrelated overlay. - Do not add overlay twice to overlay list based on equals Signed-off-by: Tomas Slusny --- .../main/java/net/runelite/client/ui/overlay/Overlay.java | 6 ++++-- .../java/net/runelite/client/ui/overlay/OverlayManager.java | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/Overlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/Overlay.java index fd1504d4da..bc7e3bd499 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/Overlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/Overlay.java @@ -27,10 +27,12 @@ package net.runelite.client.ui.overlay; import java.awt.Dimension; import java.awt.Point; import java.awt.Rectangle; -import lombok.Data; +import lombok.Getter; +import lombok.Setter; import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity; -@Data +@Getter +@Setter public abstract class Overlay implements LayoutableRenderableEntity { private Point preferredLocation; 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 50f591e914..0f2f77d6e0 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 @@ -109,6 +109,11 @@ public class OverlayManager */ public synchronized boolean add(final Overlay overlay) { + if (overlays.contains(overlay)) + { + return false; + } + final boolean add = overlays.add(overlay); if (add)