From a7a42d55535c9926c7ca7eb0b150c6a16729172e Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Tue, 22 Jan 2019 19:16:47 +0100 Subject: [PATCH 1/2] Null-check local location in trap overlay Closes #7501 Signed-off-by: Tomas Slusny --- .../java/net/runelite/client/plugins/hunter/TrapOverlay.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hunter/TrapOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/hunter/TrapOverlay.java index 4e2ead3d01..1e0f23b358 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hunter/TrapOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hunter/TrapOverlay.java @@ -143,6 +143,11 @@ public class TrapOverlay extends Overlay } net.runelite.api.Point loc = Perspective.localToCanvas(client, localLoc, client.getPlane()); + if (loc == null) + { + return; + } + double timeLeft = 1 - trap.getTrapTimeRelative(); ProgressPieComponent pie = new ProgressPieComponent(); From 538da43d689ef6dfb1d5df76b6d1f9b00f3156ce Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Tue, 22 Jan 2019 19:20:10 +0100 Subject: [PATCH 2/2] Mark localToCanvas methods nullable These can return null if object is not visible. Signed-off-by: Tomas Slusny --- runelite-api/src/main/java/net/runelite/api/Perspective.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/Perspective.java b/runelite-api/src/main/java/net/runelite/api/Perspective.java index 28be09eda2..99116b7714 100644 --- a/runelite-api/src/main/java/net/runelite/api/Perspective.java +++ b/runelite-api/src/main/java/net/runelite/api/Perspective.java @@ -79,6 +79,7 @@ public class Perspective * @return a {@link Point} on screen corresponding to the position in * 3D-space */ + @Nullable public static Point localToCanvas(@Nonnull Client client, @Nonnull LocalPoint point, int plane) { return localToCanvas(client, point, plane, 0); @@ -95,6 +96,7 @@ public class Perspective * @return a {@link Point} on screen corresponding to the position in * 3D-space */ + @Nullable public static Point localToCanvas(@Nonnull Client client, @Nonnull LocalPoint point, int plane, int zOffset) { final int tileHeight = getTileHeight(client, point, plane);