From 84ed36f2cbc8ae00ddd1d7902d34e2ca28468f7e Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Fri, 31 May 2019 16:48:05 +0200 Subject: [PATCH] Banlist: Check gamestate to stop npe on logging out/hopping (#460) --- .../client/plugins/banlist/BanListPlugin.java | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java index 44940490fd..6bb15843ca 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListPlugin.java @@ -35,6 +35,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.ClanMember; import net.runelite.api.Client; +import net.runelite.api.GameState; import net.runelite.api.events.ClanMemberJoined; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.WidgetHiddenChanged; @@ -125,24 +126,29 @@ public class BanListPlugin extends Plugin /** * Event to keep making sure player names are highlighted red in clan chat, since the red name goes away frequently - * - * @param widgetHiddenChanged */ @Subscribe public void onWidgetHiddenChanged(WidgetHiddenChanged widgetHiddenChanged) { - if (config.highlightInClan()) + if (client.getGameState() != GameState.LOGGED_IN + || client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null + || client.getViewportWidget() == null + || !config.highlightInClan()) { - clientThread.invokeLater(() -> - { - if (!client.getWidget(WidgetInfo.CLAN_CHAT).isHidden()) - { - highlightRedInCC(); - } - }); + return; } + + clientThread.invokeLater(() -> + { + if (!client.getWidget(WidgetInfo.CLAN_CHAT).isHidden()) + { + highlightRedInCC(); + } + }); } + + @Subscribe public void onClanMemberJoined(ClanMemberJoined event) { @@ -183,8 +189,6 @@ public class BanListPlugin extends Plugin /** * Compares player name to everything in the ban lists - * - * @param nameToBeChecked */ private ListType checkBanList(String nameToBeChecked) { @@ -217,9 +221,6 @@ public class BanListPlugin extends Plugin /** * Sends a warning to our player, notifying them that a player is on a ban list - * - * @param playerName - * @param listType */ private void sendWarning(String playerName, ListType listType) {