From e56a94189aac504b144100fb1962a1a8b05c86af Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 31 Jan 2014 05:07:19 +0100 Subject: Applet3Panel: Clarify ClassLoader role; Start Applet3Panel.loaderThread before Applet3Panel.handle (applet thread), joined at APPLET_INIT --- netx/jogamp/plugin/jnlp/NetxApplet3Panel.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'netx/jogamp/plugin/jnlp') diff --git a/netx/jogamp/plugin/jnlp/NetxApplet3Panel.java b/netx/jogamp/plugin/jnlp/NetxApplet3Panel.java index 875dc5a..0d79911 100644 --- a/netx/jogamp/plugin/jnlp/NetxApplet3Panel.java +++ b/netx/jogamp/plugin/jnlp/NetxApplet3Panel.java @@ -98,11 +98,8 @@ public class NetxApplet3Panel extends Applet3Panel implements SplashController { super.showAppletException(t); } - //Overriding to use Netx classloader. You might need to relax visibility - //in sun.applet.AppletPanel for runLoader(). @Override protected void runLoader() { - try { bridge = new PluginBridge(baseURL, getDocumentBase(), @@ -158,8 +155,11 @@ public class NetxApplet3Panel extends Applet3Panel implements SplashController { OutputController.getLogger().log("JNLPRuntime already initialized"); } } + final ThreadGroup tg = getThreadGroup(); + loaderThread = new Thread(tg, this, "NetxLoaderThread @ " + this.documentURL); + loaderThread.start(); - handler = new Thread(getThreadGroup(), this, "NetxPanelThread@" + this.documentURL); + handler = new Thread(tg, this, "NetxPanelThread @ " + this.documentURL); handler.start(); } @@ -176,6 +176,9 @@ public class NetxApplet3Panel extends Applet3Panel implements SplashController { } } + @Override + public boolean useCustomAppletClassLoader() { return true; } + @Override public ClassLoader getAppletClassLoader() { return appInst.getClassLoader(); -- cgit v1.2.3