banktags: Add null checks

This commit is contained in:
sdburns1998
2019-07-07 04:32:53 +02:00
parent 35b8fab8f8
commit ace36d106d

View File

@@ -53,8 +53,8 @@ import net.runelite.api.Client;
import net.runelite.api.Constants; import net.runelite.api.Constants;
import net.runelite.api.InventoryID; import net.runelite.api.InventoryID;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer; import net.runelite.api.ItemContainer;
import net.runelite.api.ItemDefinition;
import net.runelite.api.MenuAction; import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry; import net.runelite.api.MenuEntry;
import net.runelite.api.Point; import net.runelite.api.Point;
@@ -579,12 +579,15 @@ public class TabInterface
if (event.getOption().startsWith(CHANGE_ICON + " (")) if (event.getOption().startsWith(CHANGE_ICON + " ("))
{ {
ItemDefinition item = getItem(event.getActionParam0()); ItemDefinition item = getItem(event.getActionParam0());
if (item != null)
{
int itemId = itemManager.canonicalize(item.getId()); int itemId = itemManager.canonicalize(item.getId());
iconToSet.setIconItemId(itemId); iconToSet.setIconItemId(itemId);
iconToSet.getIcon().setItemId(itemId); iconToSet.getIcon().setItemId(itemId);
tabManager.setIcon(iconToSet.getTag(), itemId + ""); tabManager.setIcon(iconToSet.getTag(), itemId + "");
event.consume(); event.consume();
} }
}
// Reset icon selection even when we do not clicked item with icon // Reset icon selection even when we do not clicked item with icon
iconToSet = null; iconToSet = null;
@@ -613,10 +616,14 @@ public class TabInterface
// Add "remove" menu entry to all items in bank while tab is selected // Add "remove" menu entry to all items in bank while tab is selected
event.consume(); event.consume();
final ItemDefinition item = getItem(event.getActionParam0()); final ItemDefinition item = getItem(event.getActionParam0());
final int itemId = item.getId(); final int itemId;
if (item != null)
{
itemId = item.getId();
tagManager.removeTag(itemId, activeTab.getTag()); tagManager.removeTag(itemId, activeTab.getTag());
bankSearch.search(InputType.SEARCH, TAG_SEARCH + activeTab.getTag(), true); bankSearch.search(InputType.SEARCH, TAG_SEARCH + activeTab.getTag(), true);
} }
}
else if (event.getMenuAction() == MenuAction.RUNELITE else if (event.getMenuAction() == MenuAction.RUNELITE
&& ((event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_INVENTORY.getId() && event.getOption().equals(TAG_INVENTORY)) && ((event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_INVENTORY.getId() && event.getOption().equals(TAG_INVENTORY))
|| (event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_EQUIPMENT.getId() && event.getOption().equals(TAG_GEAR)))) || (event.getActionParam1() == WidgetInfo.BANK_DEPOSIT_EQUIPMENT.getId() && event.getOption().equals(TAG_GEAR))))
@@ -1006,10 +1013,19 @@ public class TabInterface
private ItemDefinition getItem(int idx) private ItemDefinition getItem(int idx)
{ {
ItemContainer bankContainer = client.getItemContainer(InventoryID.BANK); ItemContainer bankContainer = client.getItemContainer(InventoryID.BANK);
Item item = bankContainer.getItems()[idx]; Item item = null;
if (bankContainer != null)
{
item = bankContainer.getItems()[idx];
}
if (item != null)
{
return itemManager.getItemDefinition(item.getId()); return itemManager.getItemDefinition(item.getId());
} }
return null;
}
private void openTag(final String tag) private void openTag(final String tag)
{ {
bankSearch.search(InputType.SEARCH, TAG_SEARCH + tag, true); bankSearch.search(InputType.SEARCH, TAG_SEARCH + tag, true);