From 4e2de5ecbd12620464bc6cddafa98d5c60218d2d Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Mon, 4 Feb 2019 20:40:12 +0100 Subject: [PATCH] Prevent negative values when overlay is bigger than screen This would throw except because Ints.constrainToRange would be between 0 and negative number in case overlay is bigger than screen. Signed-off-by: Tomas Slusny --- .../net/runelite/client/ui/overlay/OverlayRenderer.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java index c70d895630..a9f2e9f017 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java @@ -250,8 +250,8 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener } final Dimension realDimensions = client.getRealDimensions(); - location.x = Ints.constrainToRange(location.x, 0, realDimensions.width - dimension.width); - location.y = Ints.constrainToRange(location.y, 0, realDimensions.height - dimension.height); + location.x = Ints.constrainToRange(location.x, 0, Math.max(0, realDimensions.width - dimension.width)); + location.y = Ints.constrainToRange(location.y, 0, Math.max(0, realDimensions.height - dimension.height)); } if (overlay.getPreferredSize() != null) @@ -347,8 +347,8 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener { final Dimension realDimension = client.getRealDimensions(); mousePoint.translate(-overlayOffset.x, -overlayOffset.y); - mousePoint.x = Ints.constrainToRange(mousePoint.x, 0, realDimension.width - movedOverlay.getBounds().width); - mousePoint.y = Ints.constrainToRange(mousePoint.y, 0, realDimension.height - movedOverlay.getBounds().height); + mousePoint.x = Ints.constrainToRange(mousePoint.x, 0, Math.max(0, realDimension.width - movedOverlay.getBounds().width)); + mousePoint.y = Ints.constrainToRange(mousePoint.y, 0, Math.max(0, realDimension.height - movedOverlay.getBounds().height)); movedOverlay.setPreferredPosition(null); movedOverlay.setPreferredLocation(mousePoint); mouseEvent.consume();