diff --git a/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java b/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java index d4bfb6a8db..d8e5c81a11 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java +++ b/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java @@ -36,7 +36,10 @@ public class KeyManager public void registerKeyListener(KeyListener keyListener) { - keyListeners.add(keyListener); + if (!keyListeners.contains(keyListener)) + { + keyListeners.add(keyListener); + } } public void unregisterKeyListener(KeyListener keyListener) diff --git a/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java b/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java index 41656664f0..dbb8bd3695 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java +++ b/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java @@ -38,7 +38,10 @@ public class MouseManager public void registerMouseListener(MouseListener mouseListener) { - mouseListeners.add(mouseListener); + if (!mouseListeners.contains(mouseListener)) + { + mouseListeners.add(mouseListener); + } } public void unregisterMouseListener(MouseListener mouseListener) @@ -48,7 +51,10 @@ public class MouseManager public void registerMouseWheelListener(MouseWheelListener mouseWheelListener) { - mouseWheelListeners.add(mouseWheelListener); + if (!mouseWheelListeners.contains(mouseWheelListener)) + { + mouseWheelListeners.add(mouseWheelListener); + } } public void unregisterMouseWheelListener(MouseWheelListener mouseWheelListener)