From a96d13b6c9a526df10df3e08157fa319b23568e6 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Wed, 27 Jun 2018 03:08:14 -0600 Subject: [PATCH] mixins: Don't show siblings in dynamic widget's child lists dynamic widgets can't have non-dynamic children because the load code can't refer to them because they can't be fully qualified by id. --- .../main/java/net/runelite/mixins/RSWidgetMixin.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java index 3d226d3840..fe02d93f1a 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java @@ -293,6 +293,12 @@ public abstract class RSWidgetMixin implements RSWidget @Override public Widget[] getStaticChildren() { + if (getRSParentId() == getId()) + { + // This is a dynamic widget, so it can't have static children + return new Widget[0]; + } + List widgets = new ArrayList(); for (RSWidget widget : client.getGroup(TO_GROUP(getId()))) { @@ -308,6 +314,12 @@ public abstract class RSWidgetMixin implements RSWidget @Override public Widget[] getNestedChildren() { + if (getRSParentId() == getId()) + { + // This is a dynamic widget, so it can't have nested children + return new Widget[0]; + } + HashTable componentTable = client.getComponentTable(); WidgetNode wn = componentTable.get(getId());