From cd5e878a265fdc9fd5a99d178b929548f95e8a63 Mon Sep 17 00:00:00 2001 From: Tillmann Gaida Date: Fri, 23 Jan 2015 16:25:54 +0100 Subject: [PATCH] Bugfix (magic file open handler broke context class loader for event thread) --- .../java/org/cryptomator/ui/MainApplication.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/main/ui/src/main/java/org/cryptomator/ui/MainApplication.java b/main/ui/src/main/java/org/cryptomator/ui/MainApplication.java index 5f15a3425..7bbf18e04 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/MainApplication.java +++ b/main/ui/src/main/java/org/cryptomator/ui/MainApplication.java @@ -50,6 +50,18 @@ public class MainApplication extends Application { @Override public void start(final Stage primaryStage) throws IOException { + ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); + Platform.runLater(() -> { + /* + * This fixes a bug on OSX where the magic file open handler leads + * to no context class loader being set in the AppKit (event) thread + * if the application is not started opening a file. + */ + if (Thread.currentThread().getContextClassLoader() == null) { + Thread.currentThread().setContextClassLoader(contextClassLoader); + } + }); + Runtime.getRuntime().addShutdownHook(MainApplication.CLEAN_SHUTDOWN_PERFORMER); executorService = Executors.newCachedThreadPool();