/hg/icedtea-web: Only destroy full initialized applets

adomurad at icedtea.classpath.org adomurad at icedtea.classpath.org
Fri Feb 8 06:20:34 PST 2013


changeset 94db84f0dfc2 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=94db84f0dfc2
author: Adam Domurad <adomurad at redhat.com>
date: Thu Feb 07 14:18:24 2013 -0500

	Only destroy full initialized applets


diffstat:

 ChangeLog                                                |  7 +++++++
 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java |  4 ++++
 2 files changed, 11 insertions(+), 0 deletions(-)

diffs (28 lines):

diff -r 90126cbbee8f -r 94db84f0dfc2 ChangeLog
--- a/ChangeLog	Wed Feb 06 16:39:43 2013 +0100
+++ b/ChangeLog	Thu Feb 07 14:18:24 2013 -0500
@@ -1,3 +1,10 @@
+2013-02-07  Adam Domurad  <adomurad at redhat.com>
+
+	Ensure applet destruction cannot in the middle of initialization. 
+	* netx/net/sourceforge/jnlp/NetxPanel.java
+	(destroyApplet): wait for applet initialization
+	missing
+
 2013-02-06  Jana Fabrikova  <jfabriko at redhat.com>
 
 	* /tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java:
diff -r 90126cbbee8f -r 94db84f0dfc2 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java	Wed Feb 06 16:39:43 2013 +0100
+++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java	Thu Feb 07 14:18:24 2013 -0500
@@ -587,6 +587,10 @@
 
     private static synchronized void destroyApplet(int identifier) {
 
+        // We should not try to destroy an applet during
+        // initialization. It may cause an inconsistent state.
+        waitForAppletInit( applets.get(identifier).panel );
+
         PluginDebug.debug("DestroyApplet called for ", identifier);
 
         PAV_INIT_STATUS prev = updateStatus(identifier, PAV_INIT_STATUS.DESTROYED);



More information about the distro-pkg-dev mailing list