screenmarkers: prevent null marker creation

This is happening and I can't see why. Avoid creating and loading null
markers.
This commit is contained in:
Adam
2020-02-03 21:26:50 -05:00
parent 9a103f8ccd
commit 5216b03090
2 changed files with 8 additions and 5 deletions

View File

@@ -29,6 +29,7 @@ import java.awt.BasicStroke;
import java.awt.Dimension;
import java.awt.Graphics2D;
import lombok.Getter;
import lombok.NonNull;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -40,7 +41,7 @@ public class ScreenMarkerOverlay extends Overlay
private final ScreenMarker marker;
private final ScreenMarkerRenderable screenMarkerRenderable;
ScreenMarkerOverlay(ScreenMarker marker)
ScreenMarkerOverlay(@NonNull ScreenMarker marker)
{
this.marker = marker;
this.screenMarkerRenderable = new ScreenMarkerRenderable();

View File

@@ -36,14 +36,15 @@ import java.awt.image.BufferedImage;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.inject.Inject;
import lombok.AccessLevel;
import lombok.Getter;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.input.MouseManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
@@ -184,9 +185,10 @@ public class ScreenMarkerPlugin extends Plugin
public void finishCreation(boolean aborted)
{
if (!aborted)
ScreenMarker marker = currentMarker;
if (!aborted && marker != null)
{
final ScreenMarkerOverlay screenMarkerOverlay = new ScreenMarkerOverlay(currentMarker);
final ScreenMarkerOverlay screenMarkerOverlay = new ScreenMarkerOverlay(marker);
screenMarkerOverlay.setPreferredLocation(overlay.getBounds().getLocation());
screenMarkerOverlay.setPreferredSize(overlay.getBounds().getSize());
@@ -254,6 +256,6 @@ public class ScreenMarkerPlugin extends Plugin
{
}.getType());
return screenMarkerData.stream().map(ScreenMarkerOverlay::new);
return screenMarkerData.stream().filter(Objects::nonNull).map(ScreenMarkerOverlay::new);
}
}