From 540edb3da33f92517081dc5acb9f8ca69f2e7aad Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 27 Mar 2019 17:03:35 -0400 Subject: [PATCH] mixins: fix incorrect usage of getNameables() The length of the NameableContainer must be accounted for. --- .../java/net/runelite/mixins/RSClientMixin.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 621eb87a1a..ad25333d80 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -27,6 +27,7 @@ package net.runelite.mixins; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import java.util.ArrayList; +import java.util.Arrays; import java.util.EnumSet; import java.util.List; import java.util.Map; @@ -735,7 +736,13 @@ public abstract class RSClientMixin implements RSClient public ClanMember[] getClanMembers() { final RSClanMemberManager clanMemberManager = getClanMemberManager(); - return clanMemberManager != null ? getClanMemberManager().getNameables() : null; + if (clanMemberManager == null) + { + return null; + } + + final int count = clanMemberManager.getCount(); + return Arrays.copyOf(clanMemberManager.getNameables(), count); } @Inject @@ -768,7 +775,8 @@ public abstract class RSClientMixin implements RSClient return null; } - return friendContainer.getNameables(); + final int count = friendContainer.getCount(); + return Arrays.copyOf(friendContainer.getNameables(), count); } @Inject @@ -806,7 +814,8 @@ public abstract class RSClientMixin implements RSClient return null; } - return ignoreContainer.getNameables(); + final int count = ignoreContainer.getCount(); + return Arrays.copyOf(ignoreContainer.getNameables(), count); } @Inject