Merge pull request #9635 from dekvall/npe-branch

Fix NPE in groundmarkerplugin and annotate some methods as nullable
This commit is contained in:
Adam
2019-08-20 17:39:53 -04:00
committed by GitHub
3 changed files with 13 additions and 2 deletions

View File

@@ -50,6 +50,7 @@ public interface Actor extends Renderable
*
* @return the name
*/
@Nullable
String getName();
/**

View File

@@ -345,6 +345,7 @@ public interface Client extends GameEngine
*
* @return the logged in player
*/
@Nullable
Player getLocalPlayer();
/**
@@ -425,6 +426,7 @@ public interface Client extends GameEngine
*
* @return the selected tile
*/
@Nullable
Tile getSelectedSceneTile();
/**
@@ -439,6 +441,7 @@ public interface Client extends GameEngine
*
* @return the dragged widget, null if not dragging any widget
*/
@Nullable
Widget getDraggedWidget();
/**
@@ -449,6 +452,7 @@ public interface Client extends GameEngine
*
* @return the dragged on widget, null if not dragging any widget
*/
@Nullable
Widget getDraggedOnWidget();
/**

View File

@@ -209,12 +209,18 @@ public class GroundMarkerPlugin extends Plugin
{
if (hotKeyPressed && event.getOption().equals(WALK_HERE))
{
final Tile selectedSceneTile = client.getSelectedSceneTile();
if (selectedSceneTile == null)
{
return;
}
MenuEntry[] menuEntries = client.getMenuEntries();
menuEntries = Arrays.copyOf(menuEntries, menuEntries.length + 1);
MenuEntry menuEntry = menuEntries[menuEntries.length - 1] = new MenuEntry();
final WorldPoint worldPoint = WorldPoint.fromLocalInstance(client, client.getSelectedSceneTile().getLocalLocation());
final WorldPoint worldPoint = WorldPoint.fromLocalInstance(client, selectedSceneTile.getLocalLocation());
final int regionId = worldPoint.getRegionID();
final GroundMarkerPoint point = new GroundMarkerPoint(regionId, worldPoint.getRegionX(), worldPoint.getRegionY(), client.getPlane(), config.markerColor());