aboutsummaryrefslogtreecommitdiffstats
path: root/netx
diff options
context:
space:
mode:
authorAdam Domurad <[email protected]>2013-01-28 11:38:34 -0500
committerAdam Domurad <[email protected]>2013-01-28 11:38:34 -0500
commit924f9299d39b9bd985c58fde4ea2968b8ebdb229 (patch)
treeed9397d22850d25343e368beaebd3b88ef5c96d1 /netx
parent7bfa15b43fc8ec893dfdbba83586963d000fa9a2 (diff)
Fix PR1157: Applets can hang browser after fatal exception
Diffstat (limited to 'netx')
-rw-r--r--netx/net/sourceforge/jnlp/NetxPanel.java8
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);
}
}