From 9f8e967f91337993a676b9ed5ceb604073e58f1b Mon Sep 17 00:00:00 2001 From: Ron Young Date: Mon, 4 May 2020 14:58:42 -0500 Subject: [PATCH] object indicators: fix NPE thrown on logging in on a marked object --- .../plugins/objectindicators/ObjectIndicatorsPlugin.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java index 1d826d7641..8c9e326310 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java @@ -39,6 +39,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import javax.annotation.Nullable; import javax.inject.Inject; import lombok.AccessLevel; import lombok.Getter; @@ -335,7 +336,8 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener && worldPoint.getPlane() == objectPoint.getZ()) { // Transform object to get the name which matches against what we've stored - if (objectPoint.getName().equals(getObjectComposition(object.getId()).getName())) + ObjectComposition composition = getObjectComposition(object.getId()); + if (composition != null && objectPoint.getName().equals(composition.getName())) { log.debug("Marking object {} due to matching {}", object, objectPoint); objects.add(new ColorTileObject(object, objectPoint.getColor())); @@ -494,6 +496,7 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener .collect(Collectors.toSet()); } + @Nullable private ObjectComposition getObjectComposition(int id) { ObjectComposition objectComposition = client.getObjectDefinition(id);