/hg/icedtea6: Fix IcedTea bz#436 - Close all applet threads on exit
dbhole at icedtea.classpath.org
dbhole at icedtea.classpath.org
Fri May 7 13:58:26 PDT 2010
changeset 373a443db017 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=373a443db017
author: Deepak Bhole <dbhole at redhat.com>
date: Fri May 07 16:57:27 2010 -0400
Fix IcedTea bz#436 - Close all applet threads on exit
diffstat:
2 files changed, 13 insertions(+), 2 deletions(-)
ChangeLog | 6 ++++++
plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 9 +++++++--
diffs (46 lines):
diff -r 7cdfd5cb14cf -r 373a443db017 ChangeLog
--- a/ChangeLog Fri May 07 16:41:14 2010 -0400
+++ b/ChangeLog Fri May 07 16:57:27 2010 -0400
@@ -1,3 +1,9 @@ 2010-05-07 Deepak Bhole <dbhole at redhat.
+2010-05-07 Deepak Bhole <dbhole at redhat.com>
+
+ * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
+ (handleMessage): Don't print stack trace on InterruptedException.
+ (appletClose): Kill misbehaving applets that don't shut down properly.
+
2010-05-07 Deepak Bhole <dbhole at redhat.com>
* netx/net/sourceforge/jnlp/Launcher.java
diff -r 7cdfd5cb14cf -r 373a443db017 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri May 07 16:41:14 2010 -0400
+++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri May 07 16:57:27 2010 -0400
@@ -1,4 +1,4 @@
-/* VoidPluginCallRequest -- represent Java-to-JavaScript requests
+/* PluginAppletViewer -- Handles embedding of the applet panel
Copyright (C) 2008 Red Hat
This file is part of IcedTea.
@@ -735,7 +735,7 @@ import com.sun.jndi.toolkit.url.UrlUtil;
Thread.sleep(50);
wait += 50;
} catch (InterruptedException ie) {
- ie.printStackTrace();
+ // just wait
}
}
@@ -1605,9 +1605,14 @@ import com.sun.jndi.toolkit.url.UrlUtil;
{
public void run()
{
+ ThreadGroup tg = ((JNLPClassLoader) p.applet.getClass().getClassLoader()).getApplication().getThreadGroup();
+
appletShutdown(p);
appletPanels.removeElement(p);
dispose();
+
+ if (tg.activeCount() > 0)
+ tg.stop();
if (countApplets() == 0) {
appletSystemExit();
More information about the distro-pkg-dev
mailing list