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,11 +579,14 @@ 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());
int itemId = itemManager.canonicalize(item.getId()); if (item != null)
iconToSet.setIconItemId(itemId); {
iconToSet.getIcon().setItemId(itemId); int itemId = itemManager.canonicalize(item.getId());
tabManager.setIcon(iconToSet.getTag(), itemId + ""); iconToSet.setIconItemId(itemId);
event.consume(); iconToSet.getIcon().setItemId(itemId);
tabManager.setIcon(iconToSet.getTag(), itemId + "");
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
@@ -613,9 +616,13 @@ 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;
tagManager.removeTag(itemId, activeTab.getTag()); if (item != null)
bankSearch.search(InputType.SEARCH, TAG_SEARCH + activeTab.getTag(), true); {
itemId = item.getId();
tagManager.removeTag(itemId, activeTab.getTag());
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))
@@ -1006,8 +1013,17 @@ 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;
return itemManager.getItemDefinition(item.getId()); if (bankContainer != null)
{
item = bankContainer.getItems()[idx];
}
if (item != null)
{
return itemManager.getItemDefinition(item.getId());
}
return null;
} }
private void openTag(final String tag) private void openTag(final String tag)