From 7742e61360fe41fff5ceaa58aacdf398468ab7fd Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Tue, 11 Feb 2020 03:30:09 +0100 Subject: [PATCH] external: Don't crash when another client has a lock on a jar --- .../client/plugins/ExternalPluginManager.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java index b59f181959..e6a40bcb51 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java @@ -209,7 +209,7 @@ class ExternalPluginManager log.error("The following dependencies are missing: {}", deps); - for (String dep : ((DependencyResolver.DependenciesNotFoundException) ex).getDependencies()) + for (String dep : deps) { install(dep); } @@ -557,11 +557,18 @@ class ExternalPluginManager { PluginInfo.PluginRelease lastRelease = updateManager.getLastPluginRelease(plugin.id); String lastVersion = lastRelease.version; - boolean updated = updateManager.updatePlugin(plugin.id, lastVersion); - - if (!updated) + try { - log.warn("Cannot update plugin '{}'", plugin.id); + boolean updated = updateManager.updatePlugin(plugin.id, lastVersion); + + if (!updated) + { + log.warn("Cannot update plugin '{}'", plugin.id); + } + } + catch (PluginRuntimeException ex) + { + log.warn("Cannot update plugin '{}', the user probably has another client open", plugin.id); } } }