diff --git a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java index 2a96a24d76..899161bfce 100644 --- a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java +++ b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java @@ -318,8 +318,14 @@ public class MenuManager if (leftClickEntry == null) { - // stop being null smh - leftClickEntry = entries[menuOptionCount - 1]; + Arrays.stream(entries) + .filter(Objects::nonNull) + .filter(MenuEntry::isForceLeftClick) + .findFirst() + .ifPresentOrElse( + (entry) -> leftClickEntry = entry, + () -> leftClickEntry = entries[menuOptionCount - 1] + ); } client.setMenuEntries(entries); @@ -434,7 +440,7 @@ public class MenuManager void onMenuOptionClicked(MenuOptionClicked event) { // option and target will be the same if this one came from "tempMenuAction" - if (!client.isMenuOpen() && !event.getOption().equals(event.getTarget()) && event.isAuthentic()) + if (!client.isMenuOpen() && event.isAuthentic()) { if (!event.equals(leftClickEntry)) {