From 0c2a253718839dd68076a25402d55b06db90b5e3 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 5 Jun 2019 20:59:53 -0400 Subject: [PATCH] music list plugin: invalidate tracks and filter state on widget reload This was keeping references to the old widget tracks, and having the filter incorrectly applied. --- .../client/plugins/musiclist/MusicListPlugin.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/musiclist/MusicListPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/musiclist/MusicListPlugin.java index 737bddbcc1..ab38b515f9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/musiclist/MusicListPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/musiclist/MusicListPlugin.java @@ -75,7 +75,7 @@ public class MusicListPlugin extends Plugin private Collection tracks; - private MusicState currentMusicFilter; + private MusicState currentMusicFilter = MusicState.ALL; @Override protected void startUp() @@ -100,6 +100,7 @@ public class MusicListPlugin extends Plugin { if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN) { + // Reset music filter on logout currentMusicFilter = MusicState.ALL; tracks = null; } @@ -110,6 +111,10 @@ public class MusicListPlugin extends Plugin { if (widgetLoaded.getGroupId() == WidgetID.MUSIC_GROUP_ID) { + tracks = null; + // Reset filter state as the widget has been reloaded. + // It is too early here to call updateFilter() + currentMusicFilter = MusicState.ALL; addMusicButtons(); } } @@ -140,7 +145,7 @@ public class MusicListPlugin extends Plugin musicSearchButton.revalidate(); musicFilterButton = header.createChild(-1, WidgetType.GRAPHIC); - musicFilterButton.setSpriteId(SpriteID.MINIMAP_ORB_HITPOINTS); + musicFilterButton.setSpriteId(SpriteID.MINIMAP_ORB_PRAYER); musicFilterButton.setOriginalWidth(15); musicFilterButton.setOriginalHeight(15); musicFilterButton.setXPositionMode(WidgetPositionMode.ABSOLUTE_RIGHT);