Banlist: Check gamestate to stop npe on logging out/hopping (#460)

This commit is contained in:
Lucwousin
2019-05-31 16:48:05 +02:00
committed by Kyleeld
parent b8c203e4c0
commit 84ed36f2cb

View File

@@ -35,6 +35,7 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.ChatMessageType; import net.runelite.api.ChatMessageType;
import net.runelite.api.ClanMember; import net.runelite.api.ClanMember;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.events.ClanMemberJoined; import net.runelite.api.events.ClanMemberJoined;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.WidgetHiddenChanged; 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 * Event to keep making sure player names are highlighted red in clan chat, since the red name goes away frequently
*
* @param widgetHiddenChanged
*/ */
@Subscribe @Subscribe
public void onWidgetHiddenChanged(WidgetHiddenChanged widgetHiddenChanged) 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(() -> return;
{
if (!client.getWidget(WidgetInfo.CLAN_CHAT).isHidden())
{
highlightRedInCC();
}
});
} }
clientThread.invokeLater(() ->
{
if (!client.getWidget(WidgetInfo.CLAN_CHAT).isHidden())
{
highlightRedInCC();
}
});
} }
@Subscribe @Subscribe
public void onClanMemberJoined(ClanMemberJoined event) public void onClanMemberJoined(ClanMemberJoined event)
{ {
@@ -183,8 +189,6 @@ public class BanListPlugin extends Plugin
/** /**
* Compares player name to everything in the ban lists * Compares player name to everything in the ban lists
*
* @param nameToBeChecked
*/ */
private ListType checkBanList(String 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 * 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) private void sendWarning(String playerName, ListType listType)
{ {