From 924f9299d39b9bd985c58fde4ea2968b8ebdb229 Mon Sep 17 00:00:00 2001 From: Adam Domurad Date: Mon, 28 Jan 2013 11:38:34 -0500 Subject: Fix PR1157: Applets can hang browser after fatal exception --- netx/net/sourceforge/jnlp/NetxPanel.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'netx/net') diff --git a/netx/net/sourceforge/jnlp/NetxPanel.java b/netx/net/sourceforge/jnlp/NetxPanel.java index 1afa416..dfa7262 100644 --- a/netx/net/sourceforge/jnlp/NetxPanel.java +++ b/netx/net/sourceforge/jnlp/NetxPanel.java @@ -139,8 +139,6 @@ public class NetxPanel extends AppletViewerPanel implements SplashController { // won't make it to the applet, whereas using sun.applet.AppletClassLoader // works just fine. - dispatchAppletEvent(APPLET_LOADING_COMPLETED, null); - if (applet != null) { // Stick it in the frame applet.setStub(this); @@ -153,6 +151,12 @@ public class NetxPanel extends AppletViewerPanel implements SplashController { this.appletAlive = false; e.printStackTrace(); replaceSplash(SplashUtils.getErrorSplashScreen(getWidth(), getHeight(), e)); + } finally { + // PR1157: This needs to occur even in the case of an exception + // so that the applet's event listeners are signaled. + // Once PluginAppletViewer.AppletEventListener is signaled PluginAppletViewer it can properly stop waiting + // in PluginAppletViewer.waitForAppletInit + dispatchAppletEvent(APPLET_LOADING_COMPLETED, null); } } -- cgit v1.2.3