File more-java-versions.patch of Package icedtea-web

diff --git a/Makefile.am b/Makefile.am
index e44070c..fd0a2eb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -238,10 +238,10 @@ export NETX_PKGS = javax.jnlp net.sourceforge.nanoxml net.sourceforge.jnlp \
 	net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \
 	net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \
 	net.sourceforge.jnlp.security.viewer net.sourceforge.jnlp.services \
-	net.sourceforge.jnlp.tools net.sourceforge.jnlp.util \
-	sun.applet
+	net.sourceforge.jnlp.tools net.sourceforge.jnlp.util
 
 if ENABLE_PLUGINJAR
+export NETX_PKGS = ${NETX_PKGS} sun.applet
 export ICEDTEAPLUGIN_TARGET = stamps/liveconnect-dist.stamp
 export PLUGIN_DIR=$(TOP_BUILD_DIR)/plugin/icedteanp
 export PLUGIN_SRCDIR=$(TOP_SRC_DIR)/plugin/icedteanp
@@ -956,11 +956,18 @@ stamps/netx-dist.stamp: stamps/netx.stamp $(TOP_BUILD_DIR)/netx.manifest stamps/
 	(cd $(NETX_DIR) ; \
 	 mkdir -p lib ; \
 	 $(SYSTEM_JDK_DIR)/bin/jar cfm lib/classes.jar \
-	  $(TOP_BUILD_DIR)/netx.manifest javax/jnlp net sun; \
+	  $(TOP_BUILD_DIR)/netx.manifest javax/jnlp net; \
 	 cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \
 	 find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
 	 cd src ; \
-	 $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net sun)
+	 $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net)
+if ENABLE_PLUGINJAR
+	(cd $(NETX_DIR) ; \
+	 $(SYSTEM_JDK_DIR)/bin/jar uf lib/classes.jar sun \
+	  $(TOP_BUILD_DIR)/netx.manifest javax/jnlp net; \
+	 cd src ; \
+     $(ZIP) -qr $(NETX_DIR)/lib/src.zip sun)
+endif    
 	mkdir -p stamps
 	touch $@
 
diff --git a/configure.ac b/configure.ac
index b6710ed..c6daab2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -186,9 +186,11 @@ if test "x$build_windows" = xyes ; then
 fi
 IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil], [some.pkg], [$JAVA_NAMING])
 IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_HTTP_HANDLER, [sun.net.www.protocol.http.Handler], [some.pkg], [$JAVA_BASE])
-IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef], [sun.applet], [$JAVA_DESKTOP])
+if test "$enable_pluginjar" = yes ; then
+  IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef], [sun.applet], [$JAVA_DESKTOP])
+  IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY
+fi
 
-IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY
 IT_CHECK_GLIB_VERSION
 IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR
 IT_CHECK_XULRUNNER_REQUIRES_C11
diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
index 6196a9e..fab17a8 100644
--- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
@@ -18,6 +18,7 @@ package net.sourceforge.jnlp.runtime;
 
 import static net.sourceforge.jnlp.runtime.Translator.R;
 
+import java.awt.AWTPermission;
 import java.awt.Window;
 import java.net.SocketPermission;
 import java.security.AccessControlException;
@@ -343,7 +344,6 @@ class JNLPSecurityManager extends SecurityManager {
      * warning banner, and adds the window to the list of windows to
      * be disposed when the calling application exits.
      */
-    @Override
     public boolean checkTopLevelWindow(Object window) {
         ApplicationInstance app = getApplication();
 
@@ -362,7 +362,12 @@ class JNLPSecurityManager extends SecurityManager {
         // todo: set awt.appletWarning to custom message
         // todo: logo on with glass pane on JFrame/JWindow?
 
-        return super.checkTopLevelWindow(window);
+        try {
+            checkPermission(new AWTPermission("showWindowWithoutWarningBanner"));
+            return true;
+        } catch (Exception se) {
+            return false;
+        }
     }
 
     /**
@@ -432,7 +437,6 @@ class JNLPSecurityManager extends SecurityManager {
      * @exception  SecurityException  if the caller does not have
      *             permission to accesss the AWT event queue.
      */
-    @Override
     public void checkAwtEventQueueAccess() {
         /*
          * this is the templace of the code that should allow applets access to
@@ -446,7 +450,7 @@ class JNLPSecurityManager extends SecurityManager {
         // If we're about to allow access to the main EventQueue,
         // and anything untrusted is on the class context stack,
         // disallow access.
-        super.checkAwtEventQueueAccess();
+        checkPermission(new AWTPermission("accessEventQueue"));
         // }
     }
 
openSUSE Build Service is sponsored by