From 66e7acd86f11b0ab2a813a759b6dcc87392b4672 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Thu, 24 Oct 2019 13:29:05 -0600 Subject: [PATCH] music: check parent and siblings for null --- .../client/plugins/music/MusicPlugin.java | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java index dd99b8ad5e..6f3496a922 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java @@ -411,13 +411,21 @@ public class MusicPlugin extends Plugin { { Widget handle = slider.getHandle(); - Widget[] siblings = handle.getParent().getChildren(); - if (siblings.length < handle.getIndex() || siblings[handle.getIndex()] != handle) + Widget parent = handle.getParent(); + if (parent == null) { continue; } - siblings[slider.getTrack().getIndex()] = null; - siblings[handle.getIndex()] = null; + else + { + Widget[] siblings = parent.getChildren(); + if (siblings == null || handle.getIndex() >= siblings.length || siblings[handle.getIndex()] != handle) + { + continue; + } + siblings[slider.getTrack().getIndex()] = null; + siblings[handle.getIndex()] = null; + } } Object[] init = icon.getOnLoadListener(); @@ -444,11 +452,19 @@ public class MusicPlugin extends Plugin Widget handle = slider.getHandle(); if (handle != null) { - Widget[] siblings = handle.getParent().getChildren(); - if (siblings.length < handle.getIndex() || siblings[handle.getIndex()] != handle) + Widget parent = handle.getParent(); + if (parent == null) { handle = null; } + else + { + Widget[] siblings = parent.getChildren(); + if (siblings == null || handle.getIndex() >= siblings.length || siblings[handle.getIndex()] != handle) + { + handle = null; + } + } } if (handle == null) {