Mercurial > hg > release > icedtea-web-1.2
changeset 376:cd4a9f25808e
Fix PR1157: Applets can hang browser after fatal exception
author | Adam Domurad <adomurad@redhat.com> |
---|---|
date | Fri, 01 Mar 2013 14:22:21 -0500 |
parents | cd6608773628 |
children | 94234beee2e9 |
files | ChangeLog NEWS netx/net/sourceforge/jnlp/NetxPanel.java |
diffstat | 3 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Jan 07 11:47:37 2013 -0500 +++ b/ChangeLog Fri Mar 01 14:22:21 2013 -0500 @@ -1,3 +1,10 @@ +2013-03-01 Adam Domurad <adomurad@redhat.com> + + Fix PR1157: Applets can hang browser after fatal exception + * NEWS: Add entry for PR1157 + * netx/net/sourceforge/jnlp/NetxPanel.java + (runLoader): Move dispatchAppletEvent into a 'finally' block. + 2013-01-07 Deepak Bhole <dbhole@redhat.com> * netx/net/sourceforge/jnlp/resources/Messages.properties: Converted to
--- a/NEWS Mon Jan 07 11:47:37 2013 -0500 +++ b/NEWS Fri Mar 01 14:22:21 2013 -0500 @@ -8,6 +8,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 1.2.4 (2012-XX-XX): + - PR1157: Applets can hang browser after fatal exception + New in release 1.2.3 (2012-XX-XX): * Common - PR1161: X509VariableTrustManager does not work correctly with OpenJDK7
--- a/netx/net/sourceforge/jnlp/NetxPanel.java Mon Jan 07 11:47:37 2013 -0500 +++ b/netx/net/sourceforge/jnlp/NetxPanel.java Fri Mar 01 14:22:21 2013 -0500 @@ -163,8 +163,6 @@ // 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); @@ -176,7 +174,13 @@ } catch (Exception e) { this.appletAlive = false; e.printStackTrace(); - } + } 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); + } } /**