From b8bf0196678192fb7451eb3b7da3e0955f9704a4 Mon Sep 17 00:00:00 2001 From: swazrgb <65694696+swazrgb@users.noreply.github.com> Date: Mon, 25 May 2020 15:47:48 +0200 Subject: [PATCH] client: Set JarPluginRepository#comparator to null The default pf4j comparator casts longs to ints which breaks the sort. Since we don't actually rely on this sorting, simply set the comparator to `null`. See https://github.com/open-osrs/runelite/pull/2621 for more info --- .../runelite/client/plugins/ExternalPf4jPluginManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPf4jPluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPf4jPluginManager.java index 5b10800bcc..bd1cfcf8ee 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPf4jPluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPf4jPluginManager.java @@ -74,6 +74,12 @@ class ExternalPf4jPluginManager extends DefaultPluginManager if (isNotDevelopment()) { JarPluginRepository jarPluginRepository = new JarPluginRepository(getPluginsRoot()); + + // Default pf4j comparator crashes on some systems (https://github.com/open-osrs/runelite/pull/2621) + // We also don't care about plugin order at this point, pf4j will sort by Plugin-Dependencies + // and we re-sort later based on `@PluginDependency` + jarPluginRepository.setComparator(null); + compoundPluginRepository.add(jarPluginRepository); }