From e18fb6a1cc62b8f24a79249bda2214033c07d893 Mon Sep 17 00:00:00 2001 From: nathan Date: Thu, 15 Jan 2015 20:38:27 +0100 Subject: [PATCH] Fixed resource loading to check thread classloader first --- src/dorkbox/util/tray/SystemTray.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/dorkbox/util/tray/SystemTray.java b/src/dorkbox/util/tray/SystemTray.java index 581ec97..7a395bf 100644 --- a/src/dorkbox/util/tray/SystemTray.java +++ b/src/dorkbox/util/tray/SystemTray.java @@ -159,11 +159,16 @@ public abstract class SystemTray { } // maybe it's in somewhere else. - URL systemResource = ClassLoader.getSystemResource(fileName); + URL systemResource = Thread.currentThread().getContextClassLoader().getResource(fileName); + if (systemResource == null) { + // maybe it's in the system classloader? + systemResource = ClassLoader.getSystemResource(fileName); + } + if (systemResource != null) { // copy out to a temp file, as a hash of the file - String file = systemResource.getFile(); - byte[] bytes = file.getBytes(UTF_8); + String resourceFileName = systemResource.getPath(); + byte[] bytes = resourceFileName.getBytes(UTF_8); File newFile; String tempDir = System.getProperty("java.io.tmpdir");