/hg/icedtea-web: Fix PR1157: Applets can hang browser after fata...
adomurad at icedtea.classpath.org
adomurad at icedtea.classpath.org
Mon Jan 28 08:38:40 PST 2013
changeset 74a70e0b15ef in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=74a70e0b15ef
author: Adam Domurad <adomurad at redhat.com>
date: Mon Jan 28 11:38:34 2013 -0500
Fix PR1157: Applets can hang browser after fatal exception
diffstat:
ChangeLog | 7 +++++++
NEWS | 1 +
netx/net/sourceforge/jnlp/NetxPanel.java | 8 ++++++--
3 files changed, 14 insertions(+), 2 deletions(-)
diffs (50 lines):
diff -r 3960d2a46f51 -r 74a70e0b15ef ChangeLog
--- a/ChangeLog Wed Jan 16 15:35:09 2013 -0500
+++ b/ChangeLog Mon Jan 28 11:38:34 2013 -0500
@@ -1,3 +1,10 @@
+2013-01-28 Adam Domurad <adomurad at 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-16 Deepak Bhole <dbhole at redhat.com>
PR1260: IcedTea-Web should not rely on GTK
diff -r 3960d2a46f51 -r 74a70e0b15ef NEWS
--- a/NEWS Wed Jan 16 15:35:09 2013 -0500
+++ b/NEWS Mon Jan 28 11:38:34 2013 -0500
@@ -26,6 +26,7 @@
- PR1189: Icedtea-plugin requires code attribute when using jnlp_href
- PR1198: JSObject is not passed to javascript correctly
- PR1260: IcedTea-Web should not rely on GTK
+ - PR1157: Applets can hang browser after fatal exception
* Common
- PR1049: Extension jnlp's signed jar with the content of only META-INF/* is considered
- PR955: regression: SweetHome3D fails to run
diff -r 3960d2a46f51 -r 74a70e0b15ef netx/net/sourceforge/jnlp/NetxPanel.java
--- a/netx/net/sourceforge/jnlp/NetxPanel.java Wed Jan 16 15:35:09 2013 -0500
+++ b/netx/net/sourceforge/jnlp/NetxPanel.java Mon Jan 28 11:38:34 2013 -0500
@@ -139,8 +139,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);
@@ -153,6 +151,12 @@
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);
}
}
More information about the distro-pkg-dev
mailing list