diff options
author | Adam Domurad <[email protected]> | 2013-01-28 11:38:34 -0500 |
---|---|---|
committer | Adam Domurad <[email protected]> | 2013-01-28 11:38:34 -0500 |
commit | 924f9299d39b9bd985c58fde4ea2968b8ebdb229 (patch) | |
tree | ed9397d22850d25343e368beaebd3b88ef5c96d1 /netx | |
parent | 7bfa15b43fc8ec893dfdbba83586963d000fa9a2 (diff) |
Fix PR1157: Applets can hang browser after fatal exception
Diffstat (limited to 'netx')
-rw-r--r-- | netx/net/sourceforge/jnlp/NetxPanel.java | 8 |
1 files changed, 6 insertions, 2 deletions
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); } } |