menumanager: true band aid fix (#1430)

This commit is contained in:
Ganom
2019-08-22 20:42:45 -04:00
committed by Kyle
parent 0a20ef601d
commit 8abdd56f9e

View File

@@ -34,6 +34,7 @@ import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.ConcurrentModificationException;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@@ -47,9 +48,9 @@ import javax.inject.Singleton;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.MenuEntry;
import net.runelite.api.MenuOpcode; import net.runelite.api.MenuOpcode;
import static net.runelite.api.MenuOpcode.MENU_ACTION_DEPRIORITIZE_OFFSET; import static net.runelite.api.MenuOpcode.MENU_ACTION_DEPRIORITIZE_OFFSET;
import net.runelite.api.MenuEntry;
import net.runelite.api.NPCDefinition; import net.runelite.api.NPCDefinition;
import net.runelite.api.events.BeforeRender; import net.runelite.api.events.BeforeRender;
import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuEntryAdded;
@@ -807,7 +808,9 @@ public class MenuManager
private void indexPriorityEntries(MenuEntry[] entries, int menuOptionCount) private void indexPriorityEntries(MenuEntry[] entries, int menuOptionCount)
{ {
// create a array of priority entries so we can sort those // create a array of priority entries so we can sort those
SortMapping[] prios = new SortMapping[entries.length - menuOptionCount]; try
{
final SortMapping[] prios = new SortMapping[entries.length - menuOptionCount];
int prioAmt = 0; int prioAmt = 0;
for (int i = 0; i < menuOptionCount; i++) for (int i = 0; i < menuOptionCount; i++)
@@ -844,6 +847,11 @@ public class MenuManager
firstEntry = entries[menuOptionCount + i - 1]; firstEntry = entries[menuOptionCount + i - 1];
} }
catch (ConcurrentModificationException ignored)
{
//true band aid :)
}
}
private void indexSwapEntries(MenuEntry[] entries, int menuOptionCount) private void indexSwapEntries(MenuEntry[] entries, int menuOptionCount)
{ {