From 73134b73d3e1512449f0e9c1bfeed3d01f254523 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 3 Jan 2018 03:29:38 +0100 Subject: [PATCH] ExaminePlugin: Make sure widget children array index is valid --- .../client/plugins/examine/ExaminePlugin.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index dfabe7392e..d26007281e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -252,20 +252,30 @@ public class ExaminePlugin extends Plugin if (WidgetInfo.EQUIPMENT.getGroupId() == widgetGroup) { Widget widgetItem = widget.getChild(1); - quantity = widgetItem != null ? widgetItem.getItemQuantity() : 1; - itemId = widgetItem.getItemId(); + if (widgetItem != null) + { + quantity = widgetItem.getItemQuantity(); + itemId = widgetItem.getItemId(); + } } else if (WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId() == widgetGroup) { Widget widgetItem = widget.getChild(pendingExamine.getActionParam()); - quantity = widgetItem != null ? widgetItem.getItemQuantity() : 1; - itemId = widgetItem.getItemId(); + if (widgetItem != null) + { + quantity = widgetItem.getItemQuantity(); + itemId = widgetItem.getItemId(); + } } else if (WidgetInfo.BANK_ITEM_CONTAINER.getGroupId() == widgetGroup) { - Widget widgetItem = widget.getDynamicChildren()[pendingExamine.getActionParam()]; - quantity = widgetItem != null ? widgetItem.getItemQuantity() : 1; - itemId = widgetItem.getItemId(); + Widget[] children = widget.getDynamicChildren(); + if (pendingExamine.getActionParam() < children.length) + { + Widget widgetItem = children[pendingExamine.getActionParam()]; + quantity = widgetItem.getItemQuantity(); + itemId = widgetItem.getItemId(); + } } }