diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java index 434f77c904..b12bd9cb9f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/antidrag/AntiDragPlugin.java @@ -140,6 +140,11 @@ public class AntiDragPlugin extends Plugin implements KeyListener } } + private boolean isOverriding() + { + return (!config.onShiftOnly() || shiftHeld) && !ctrlHeld; + } + @Subscribe public void onConfigChanged(ConfigChanged event) { @@ -180,9 +185,14 @@ public class AntiDragPlugin extends Plugin implements KeyListener @Subscribe public void onWidgetLoaded(WidgetLoaded widgetLoaded) { - if ((widgetLoaded.getGroupId() == WidgetID.BANK_GROUP_ID || + if (!isOverriding()) + { + return; + } + + if (widgetLoaded.getGroupId() == WidgetID.BANK_GROUP_ID || widgetLoaded.getGroupId() == WidgetID.BANK_INVENTORY_GROUP_ID || - widgetLoaded.getGroupId() == WidgetID.DEPOSIT_BOX_GROUP_ID) && (!config.onShiftOnly() || shiftHeld) && !ctrlHeld) + widgetLoaded.getGroupId() == WidgetID.DEPOSIT_BOX_GROUP_ID) { setBankDragDelay(config.dragDelay()); } @@ -199,11 +209,15 @@ public class AntiDragPlugin extends Plugin implements KeyListener { Widget inv = client.getWidget(WidgetInfo.INVENTORY); final int delay = config.dragDelay(); + boolean overriding = isOverriding(); for (Widget child : inv.getDynamicChildren()) { // disable [clientscript,inventory_antidrag_update] listener child.setOnMouseRepeatListener((Object[]) null); - child.setDragDeadTime(delay); + if (overriding) + { + child.setDragDeadTime(delay); + } } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java index 4465c0b338..bdc0f8d8c1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java @@ -85,29 +85,20 @@ public class ItemStatOverlay extends Overlay final MenuEntry[] menu = client.getMenuEntries(); final int menuSize = menu.length; - if (menuSize <= 0) { return null; } final MenuEntry entry = menu[menuSize - 1]; - final int group = WidgetInfo.TO_GROUP(entry.getParam1()); - final int child = WidgetInfo.TO_CHILD(entry.getParam1()); - final Widget widget = client.getWidget(group, child); - - if (widget == null - || !(group == WidgetInfo.INVENTORY.getGroupId() - || group == WidgetInfo.EQUIPMENT.getGroupId() - || group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId() - || (config.showStatsInBank() - && ((group == WidgetInfo.BANK_ITEM_CONTAINER.getGroupId() && child == WidgetInfo.BANK_ITEM_CONTAINER.getChildId()) - || group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId())))) + final Widget widget = entry.getWidget(); + if (widget == null) { return null; } - int itemId = entry.getIdentifier(); + final int group = WidgetInfo.TO_GROUP(widget.getId()); + int itemId = -1; if (group == WidgetInfo.EQUIPMENT.getGroupId() || // For bank worn equipment, check widget parent to differentiate from normal bank items @@ -119,19 +110,17 @@ public class ItemStatOverlay extends Overlay itemId = widgetItem.getItemId(); } } - else if (group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId() - || group == WidgetInfo.BANK_ITEM_CONTAINER.getGroupId() - || group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId()) + else if (widget.getId() == WidgetInfo.INVENTORY.getId() + || group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId() + || widget.getId() == WidgetInfo.BANK_ITEM_CONTAINER.getId() && config.showStatsInBank() + || group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId() && config.showStatsInBank()) { - int index = entry.getParam0(); - if (index > -1) - { - final Widget widgetItem = widget.getChild(index); - if (widgetItem != null) - { - itemId = widgetItem.getItemId(); - } - } + itemId = widget.getItemId(); + } + + if (itemId == -1) + { + return null; } if (config.consumableStats())